<SEC-DOCUMENT>0001558370-23-005147.txt : 20230330
<SEC-HEADER>0001558370-23-005147.hdr.sgml : 20230330
<ACCEPTANCE-DATETIME>20230330172103
ACCESSION NUMBER:		0001558370-23-005147
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		117
CONFORMED PERIOD OF REPORT:	20221231
FILED AS OF DATE:		20230330
DATE AS OF CHANGE:		20230330

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			Consolidated Water Co. Ltd.
		CENTRAL INDEX KEY:			0000928340
		STANDARD INDUSTRIAL CLASSIFICATION:	WATER SUPPLY [4941]
		IRS NUMBER:				000000000
		STATE OF INCORPORATION:			E9
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	000-25248
		FILM NUMBER:		23781834

	BUSINESS ADDRESS:	
		STREET 1:		REGATTA OFFICE PARK, WINDWARD THREE,
		STREET 2:		4TH FLOOR, WEST BAY ROAD, P.O. BOX 1114
		CITY:			GRAND CAYMAN
		STATE:			E9
		ZIP:			KY1-1102
		BUSINESS PHONE:		345-945-4277

	MAIL ADDRESS:	
		STREET 1:		REGATTA OFFICE PARK, WINDWARD THREE,
		STREET 2:		4TH FLOOR, WEST BAY ROAD, P.O. BOX 1114
		CITY:			GRAND CAYMAN
		STATE:			E9
		ZIP:			KY1-1102

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	CONSOLIDATED WATER CO LTD
		DATE OF NAME CHANGE:	19990330

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	CAYMAN WATER CO LTD
		DATE OF NAME CHANGE:	19941212
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>cwco-20221231x10k.htm
<DESCRIPTION>10-K
<TEXT>
<XBRL>
<?xml version='1.0' encoding='UTF-8'?>

      <!-- iXBRL document created with: Toppan Merrill Bridge iXBRL 10.2.0.4 -->
      <!-- Based on: iXBRL 1.1 -->
      <!-- Created on: 3/30/2023 5:53:19 PM -->
      <!-- iXBRL Library version: 1.0.8405.27969 -->
      <!-- iXBRL Service Job ID: 942a544f-d586-4bee-bfe0-3dac56596d46 -->

  <html xmlns:stpr="http://xbrl.sec.gov/stpr/2022" xmlns:us-gaap="http://fasb.org/us-gaap/2022" xmlns:cwco="http://www.cwco.com/20221231" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:country="http://xbrl.sec.gov/country/2022" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:srt="http://fasb.org/srt/2022" xmlns:currency="http://xbrl.sec.gov/currency/2022" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dei="http://xbrl.sec.gov/dei/2022" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:xbrldi="http://xbrl.org/2006/xbrldi"><head><meta content="text/html" http-equiv="content-type" /><title></title></head><body><div style="margin-top:30pt;"></div><div style="display:none;"><ix:header><ix:hidden><ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" xs:nil="true" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" name="us-gaap:CommitmentsAndContingencies" id="Hidden_JvLrOTcK6UqyMIn7P7vVag"></ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" xs:nil="true" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" name="us-gaap:CommitmentsAndContingencies" id="Hidden_C4UATAKuh0uK17UdZuoWYQ"></ix:nonFraction><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:EntityCentralIndexKey" id="Tc_rrqbxxsa1k6wZ3PlDUd2lg_1_1">0000928340</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:CurrentFiscalYearEndDate" id="Tc_Q-sb7fT1DUCx2fvbdvUJNA_2_1">--12-31</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:DocumentFiscalYearFocus" id="Tc_S8yN3G3t802NBoftn27-og_3_1">2022</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:DocumentFiscalPeriodFocus" id="Tc_hFQ7hfgpKUu7wrEajY89kA_4_1">FY</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:AmendmentFlag" id="Tc_zOkqTrhLOk6th-Kz5IKwNg_5_1">false</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:EntityIncorporationStateCountryCode" id="Hidden_YsBfAwV42k6d7z45AQwZMw">KY</ix:nonNumeric><ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="INF" name="us-gaap:PreferredStockSharesIssued" id="Hidden_GPyCbHnH7kiOEf_rV-cNWg">28635</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="INF" name="us-gaap:PreferredStockSharesOutstanding" id="Hidden_nHpl61QsaUKDOfPdaFxIng">34383</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_vh2QUCelvEC4r_5iR09Lbg" decimals="INF" name="us-gaap:CommonStockSharesIssued" id="Hidden_4F6JmzwLM0-07_P8GK15VQ">15243693</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_ZVzwBZGRcUmURhjGB3mM7Q" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" id="Hidden_fueN_H1LAUK7VqpFsfWdQQ">15322875</ix:nonFraction><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_jGE2s8GJJkWvq8WTeRNORA" name="cwco:NumberOfDaysAfterConsumptionBillingsAreCollected" id="Hidden_Mq4RJyVkUUicibqvX6HN6A">P45D</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2022_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_cwco_cnst_2022-12-31_pDIaB1foqk-hwPkXpc-QtQ" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="Hidden_IYfoFNovFk6_DJ7VkUWbZg">P1Y</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2022_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_cwco_cnst_2023-12-31_xdSBFhmI80G1jIpP1DOrQw" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="Hidden_krpoWHDnsEuXcTJZVPGkeA">P2Y</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2022_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_cwco_cnst_date_20241231_7G14Fu6DbUOM9cpNk5V06w" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="Hidden_-N3RFjmXGU2GbGZ4UxVTaQ">P3Y</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_A5Sm1Xw1fE6wyiLPCVUhkw" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" id="Hidden_91hD7DAcuEWByb9hPsVsfg">P3Y</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_ibTALvn6G0O1xlMvSAp0HA" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" id="Hidden_RdQbXo2Mg0Gum4zs_sJGPA">P5Y</ix:nonNumeric><ix:nonNumeric contextRef="Duration_2_1_2016_To_2_29_2016_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_wIPNOocXKEOnANGxioMlCQ" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" id="Hidden_NWCWAsh4-U-6RasXWCt7Kg">P15Y</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_2cgc8-j8cUCv6seVGLB6Uw" name="cwco:AdditionalConsecutiveIndividualRequisiteServicePeriod" id="Hidden_m6oR_p4jC0S6jabQ6DdScQ">P4Y</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_2cgc8-j8cUCv6seVGLB6Uw" name="cwco:NumberOfDaysOfAverageTradingPriceOfCommonStock" id="Hidden_g43qDNLa60qa927jd3oQ1Q">P7D</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="cwco:NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised" id="Hidden_gp5NWYBmYUOohlMit8VLZA">P30D</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_-o2zEQaSHkqorN6pHkRDrg" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Hidden_xV2zF2SZVkSO1s2NF-O8vA">P3Y</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_PerformancebasedGrantsMember_WkphmXfbEEGIfdh9g_0VTg" name="cwco:ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod" id="Hidden_fz6kqljD4UmKUrGC033RsQ">P3Y</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="cwco:NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue" id="Hidden_OHWW8FktBkWbXDZJp9x7Wg">P45D</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_kEbnJUzLjE2FsIu-1h89WA" name="cwco:TermOfForeignExchangeRiskToDollarForCertainCurrencies" id="Hidden_Ceex_SV_NkSWydyqJQLXFg">P20Y</ix:nonNumeric></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="cwco-20221231.xsd"></link:schemaRef></ix:references><ix:resources><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_aMyjne3ank2zdlEWi_TxwA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</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="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_CBOsmqEgOkK9j884bTYxMw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_lwQBd0ht_UyOaipQ5wIuzA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</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="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_NE1AbW1U0UeKPG1EhuZDcw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</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="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_rVMUroAZQEKpn1M2U6Ow0g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Yff6h3QjVEa8xnGdDclZdQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</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="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_npc_G5l0Gk2HnaD5NWvfww"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_hL37mlRu9EWYYOlxr22q_A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_upiEpremuE-xQKoZZfeJog"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_sBcY1Btx90SbkhJ3vi2W-A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_2NH0HbQNxU6mJ19nM52FFQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</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="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_J6J75thyq06qykW7F5TwWw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_3zS89l0s00S1RPfi4v04Bw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</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="As_Of_12_31_2020_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_-tneCKrH1kGaOJDN-8HjkA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_3HKYTqvya0ymy8WxbSHR_A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_BelowMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_U8fmxZfreESzGZVveNylig"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">cwco:EmployeesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:BelowMarketPriceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</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="Duration_1_1_2022_To_12_31_2022_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_uc9G2doOAk6gDMGKHi2OBA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">cwco:EmployeesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AtMarketPriceMember</xbrldi:explicitMember><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-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_dNnvrkzTnEiILpSof4P2WQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">cwco:EmployeesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AboveMarketPriceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</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="Duration_1_1_2022_To_12_31_2022_srt_TitleOfIndividualAxis_cwco_ManagementEmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_oEXCb0pyBU6wJ7xtjQONbQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">cwco:ManagementEmployeesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AtMarketPriceMember</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="Duration_1_1_2022_To_12_31_2022_srt_TitleOfIndividualAxis_cwco_ManagementEmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_oozbxK7VOEWkjdc9vd9Fjw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">cwco:ManagementEmployeesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AboveMarketPriceMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_BelowMarketPriceMember_84bejj63qkSkKybWqZzt3Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:BelowMarketPriceMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_GMWLzigV10uKU4FXNJ-JqA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AtMarketPriceMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_4Cs5yVrAU02Ko9yUPxYmog"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AboveMarketPriceMember</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="Duration_1_1_2021_To_12_31_2021_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_BelowMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_aldM8JOXXUO7FpoAU_IGRw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">cwco:EmployeesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:BelowMarketPriceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_pJUE9bi3HEmmDAZpDfwiXA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">cwco:EmployeesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AtMarketPriceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_CGdTQbI4FkKOsl6kFYRxNg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">cwco:EmployeesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AboveMarketPriceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_TitleOfIndividualAxis_cwco_ManagementEmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_4WIqsqu0lUyymfxmXWjHQg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">cwco:ManagementEmployeesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AtMarketPriceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_TitleOfIndividualAxis_cwco_ManagementEmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_X2_WIujCSEyrHmh5KI2wtA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">cwco:ManagementEmployeesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AboveMarketPriceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_BelowMarketPriceMember_55Qtr8My8EeW1Yd89VExIA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:BelowMarketPriceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_51BWjSPjyEWDqgxj1vA0-g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AtMarketPriceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_gOE3r0UpzE2QI5wMkGJciw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AboveMarketPriceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonExecutiveDirectorsSharePlanMember_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_a0Iiqpr9Akydno-GPTlkMw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cwco:NonExecutiveDirectorsSharePlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_CommonStockOptionsMember_us-gaap_OptionIndexedToIssuersEquityTypeAxis_us-gaap_EmployeeStockOptionMember_SUkL0fscsEmdQK_KX5vwWw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cwco:CommonStockOptionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityTypeAxis">us-gaap:EmployeeStockOptionMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_CommonStockOptionsMember_us-gaap_OptionIndexedToIssuersEquityTypeAxis_us-gaap_EmployeeStockOptionMember_AQCq0oLNvkCrjC1ecePAKQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cwco:CommonStockOptionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonExecutiveDirectorsSharePlanMember_-Bt7YAbgJUy0saiAWkoilA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cwco:NonExecutiveDirectorsSharePlanMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_NonExecutiveDirectorsSharePlanMember_iPB0rpgeFUGXw4ePaRVNTQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cwco:NonExecutiveDirectorsSharePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesRevenuesMember_ZrmTNwyW1025wAkuvps4Dg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ServicesRevenuesMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_RetailRevenuesMember_JQ-ibT6FxUGrfvneRYbxHA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:RetailRevenuesMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingRevenuesMember_L2hfymQ1t0iePOuBfVj1NA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingRevenuesMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkRevenuesMember_HRksc1ACyU-matZYrJz-GA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:BulkRevenuesMember</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_VG_VudHKE0yR0OV5ND7dIJn7Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VG</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_US_uBo_fz05N0mnkK6jRORx0A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_KY_LGMwzhuDBEeoIKH3HuSbRg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KY</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_BS_qBh3Nc-_h0aLnwGNiWhXwQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BS</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="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesRevenuesMember_TEqoFvdKH0SxHTuQd6k5-g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ServicesRevenuesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_RetailRevenuesMember_Z_vR6-tG9ECKY6a-b8hUrA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:RetailRevenuesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingRevenuesMember_MB4Uw3KolEaV_KC6kmFkYA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingRevenuesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkRevenuesMember_8No9bIx1Z02NFBj0vQVdEQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:BulkRevenuesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_VG_ukkHuCZRgkyxA4Fzlpyaeg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VG</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_US_WQ1NEC1960Ge0YwTP5I_wg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_KY_10Bchwih-UCG-OIAJ0ASsQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KY</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_BS_QoTCoVIlek6KVicMqAXEzg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BS</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_cwco_cnst_date_20241231_7G14Fu6DbUOM9cpNk5V06w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2024-12-31</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_cwco_cnst_2023-12-31_xdSBFhmI80G1jIpP1DOrQw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2023-12-31</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_cwco_cnst_2022-12-31_pDIaB1foqk-hwPkXpc-QtQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2022-12-31</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember_LyW64rO_ykaR5tjMzwa9aA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfSalesMember_v0OLl8BXo0WTErurXssnTQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</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-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember_VtgY5MG7JkyLzIBSWRs00A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfSalesMember_FWegh57lq0G40qMIOWy0tg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_cwco_PercWaterCorporationMember_iSPiZunAVk6dezcZHWn32w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">cwco:PercWaterCorporationMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_cwco_PercWaterCorporationMember_jYS-R1U8vU6_Xhm4uPjjeQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">cwco:PercWaterCorporationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_uF3oC7vwEUmjNVP-o-PC7w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</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="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_4gvcaCV6aE-mIKHXLi0oSQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_Em3nfjzlyUiOsxJ6aR_9TQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</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="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_PlantAndEquipmentMember_Qil96oGDl0qWbByqsXAADA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:PlantAndEquipmentMember</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="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_LabEquipmentMember_5KH2J5dfSU-DHtl0XB3YmQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:LabEquipmentMember</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="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_DistributionSystemsMember_PNci2u4eqkyApssLolKcaQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:DistributionSystemsMember</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="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_w8PCy4tBzU2eNLFJw7Ja3w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</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="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_UjybnyBM_0eHUN7wuvYzxw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_CrRhqVKpokSFVglsF_8dyw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</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="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_PlantAndEquipmentMember_FjX_9MaEwEGsQIjmNL3JaA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:PlantAndEquipmentMember</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="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_LabEquipmentMember_L-PZFWVK7UKJJGq1RJmH1g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:LabEquipmentMember</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="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_DistributionSystemsMember_rKTwVQ67QUSsFaSM1Zsv9Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:DistributionSystemsMember</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="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_US_-X9B-7Q8mke3TrF_DHHdeg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_KY_aytbaBe1RESSQ-KE0shQeg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KY</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_BS_IREMcZqPMEu7y9eIsurthQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BS</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_US_h3yTQxDRmkygbqn2Lrhrmw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_KY_G0NcxKf4J02alFaw0VPRbA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KY</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_BS_3RfaHR7Dg0udZ2YQ4jDT1w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BS</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_mw3wyW_9LU6U448K2z4pRw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_EOtT9ovp6kKj_c6U2eUzbw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_q1bM9bwnUEO2UEWy0T-ohw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_QloPZuaO-UCvfutzvAz0LQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_-XEZN2yfpUyMrWj0DeQ0TQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_PlantAndEquipmentMember_VRKix0K_Nk-xYFNeN_XZ1g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:PlantAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_LabEquipmentMember_QMnj4GPSqUGYeP5yGVt5Xg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:LabEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_DistributionSystemsMember_HYs72WwND0aaruOAZ7g27Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:DistributionSystemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_FIwZb1208EC6qe0eO3ir6Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_0ibF_bVy7kWco3HBqVjc-A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_Rs3QYfM3aEuEDEk-lOiWtg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_W1k_tDFvwECgbdd0je_3qA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_9t5ABujKlEik3aHffAM6tQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_PlantAndEquipmentMember_3mrFm3mOyEWHAExx_pe8Pg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:PlantAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_LabEquipmentMember_Wwjt8Ir4H0q_Okmavwhc3g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:LabEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_DistributionSystemsMember_2c7g3Pkv9EGiLLSobFyycQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:DistributionSystemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_8DqshODSZUmg5Cds-Qvpbw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</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="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_CapitalizedEngineeringLaborAndMaterialsCostMember_KZbKo2oHK0q9AusqI4_JuQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:CapitalizedEngineeringLaborAndMaterialsCostMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_CapitalizedEngineeringLaborAndMaterialsCostMember_ALWgIFPLZ0OhruLlg_Jtfw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:CapitalizedEngineeringLaborAndMaterialsCostMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_us-gaap_StateAndLocalJurisdictionMember_TrJgMKQXDUetfuk7-YM0KA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_sxJ6C8OwfkiN2lItOCO1iw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_us-gaap_SegmentDiscontinuedOperationsMember_JCZRleBWJkGWVn_E0g9T5w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_us-gaap_SegmentDiscontinuedOperationsMember_WgnnAf8oCUa5AzpqHy0lwA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_4_2023_srt_OwnershipAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_5JH0iRvD3EWeoHNXQ5FD9g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">cwco:PercWaterCorporationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-04</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_2_28_2018_srt_OwnershipAxis_cwco_NSCAguaMember_W0-Wx1olUkqDOFvFloVsPQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">cwco:NSCAguaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-02-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_2_9_2022_To_2_9_2022_srt_RangeAxis_srt_MinimumMember_EOswmxyBV0q740-H_b28LA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-09</xbrli:startDate><xbrli:endDate>2022-02-09</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_O-UnVApJ9ESzxllq2JlKMQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_9_2022_To_2_9_2022_pijHGs4rBEOq-frQM5E_xw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-09</xbrli:startDate><xbrli:endDate>2022-02-09</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_cwco_WaterStockMember_T-N1HEvbfkWbrE4HvY8WYA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cwco:WaterStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_cwco_SparePartsStockMember_1NXF2RIfEEOpIVmEUIJKxw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cwco:SparePartsStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_cwco_ConsumablesStockMember_G73ZcJAil0urdxdXRkvu0g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cwco:ConsumablesStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_cwco_WaterStockMember_vhVPTC7NI06wr0sLixMhyg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cwco:WaterStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_cwco_SparePartsStockMember_olmPGB-pVkiqMgFCV4q4MQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cwco:SparePartsStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_cwco_ConsumablesStockMember_xMIfagRwP0u3iCE1KoSeQA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cwco:ConsumablesStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_6_1_2021_To_6_30_2021_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_RTyQ1FjV0kqcpBL6Mq6EjQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-06-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_Xq0O_aVBCEi8yhG6kjD16g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2016_To_12_31_2016_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_uWxQ9n9Tckunz21IObTwrQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2016-01-01</xbrli:startDate><xbrli:endDate>2016-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_g2y86SHeUU6VaM8OOFTTQQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2017_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_LpiTapxNU06_IQvMX1-U3g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2016_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_qMEBcGGIgUm7wdekuaQQmg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_ProfessionalsFeeMember_1twsjW8lhkq1AlUBpxggJQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:ProfessionalsFeeMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_OtherCreditDeviceMember_Dzk2dI800Uu7HiCihH5VzA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:OtherCreditDeviceMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_OfficeRentMember_6yHLrRL1-0WwJfy-7XaGKA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:OfficeRentMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_DirectorsFeesAndExpensesMember_ef659NXfWkajdwo8FM7Ogw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:DirectorsFeesAndExpensesMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_AmortizationOfIntangiblesMember_tS1JMDtniUOT2xwxsSNm-w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:AmortizationOfIntangiblesMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_ProfessionalsFeeMember_cBzlfvMR2EKesUCnKHTDFw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:ProfessionalsFeeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_OtherCreditDeviceMember_eG9vT2tEA0K_f5i4QKLeuw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:OtherCreditDeviceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_OfficeRentMember_qdnjxSDjfUuw726x2no2rw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:OfficeRentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_DirectorsFeesAndExpensesMember_jjWf027980ObM2mgJaOYnw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:DirectorsFeesAndExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_AmortizationOfIntangiblesMember_TZH2krkk8k2yUvokVGYscA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:AmortizationOfIntangiblesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_dSyy5sHtkk-I4iK5xQeeqg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_TradeNameMember_2rcjDwPRJ0ejPLHq9Lw65Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">cwco:TradeNameMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_ManagementContractsMember_VJ1yIW5kFkKdvZZUmgwUxw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">cwco:ManagementContractsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_7xr6HpDAjES_eff6mejQ9g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_TradeNameMember_qMZ8XiFfpE2bNTaPCP05Ag"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">cwco:TradeNameMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_ManagementContractsMember_y5_U8cT2Ekeb7YYl-1n1aA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">cwco:ManagementContractsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_FairValueByAssetClassAxis_us-gaap_CertificatesOfDepositMember_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_sPBH5R3JWkKvlSheo55J9g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_ghdFbST_AUCaVYhxmTxIfg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_FairValueByAssetClassAxis_us-gaap_CertificatesOfDepositMember_VU-7yE45pEW9Wn-NHJPF7g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_8_31_2016_srt_OwnershipAxis_cwco_NSCAguaMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_cwco_AguasDeRosaritoSapiDeCvMember_CUyCWJnWt0yfe3bZF2yAeQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">cwco:NSCAguaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">cwco:AguasDeRosaritoSapiDeCvMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-08-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityTypeAxis_us-gaap_EmployeeStockOptionMember_LeMarUzIOEWFkjFGt8_imw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_cwco_RetirementPlanAxis_stpr_FL_DKqplJkX-EWxKCap_J3jKw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="cwco:RetirementPlanAxis">stpr:FL</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="Duration_1_1_2022_To_12_31_2022_cwco_RetirementPlanAxis_country_KY_oKOWIjfHuEKj9Yn2V7stfA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="cwco:RetirementPlanAxis">country:KY</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="Duration_1_1_2022_To_12_31_2022_cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis_cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember_cwco_RetirementPlanAxis_stpr_CA_srt_RangeAxis_srt_MaximumMember_EjJiUeYjPESXBUAtMfRLxA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="cwco:DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis">cwco:DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="cwco:RetirementPlanAxis">stpr:CA</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</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="Duration_1_1_2022_To_12_31_2022_cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis_cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember_cwco_RetirementPlanAxis_stpr_CA_OHPJx1cwnk6tGqUNUKaP2w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="cwco:DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis">cwco:DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="cwco:RetirementPlanAxis">stpr:CA</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="Duration_1_1_2022_To_12_31_2022_cwco_RetirementPlanAxis_stpr_CA_98NNUc1ilECucy-49BuTuw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="cwco:RetirementPlanAxis">stpr:CA</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="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_OtherExpenseMember_Jqvw6ii1bUqbPg7Ok9p7XA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:OtherExpenseMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_MaintenanceMember_x8Fsfq_31ky5ONjU1hMwPw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:MaintenanceMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_ElectricityMember_yq2PdP9dpk6oPpPYdLC2Hw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:ElectricityMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_SubcontractorAndOtherProjectCostsMember_XhU9vS8_20W29yC7N_03Wg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:SubcontractorAndOtherProjectCostsMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_IRt6ToTRWEanbUvHNX-vUw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ServicesMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2aHUbdhyQk2ZfxNmGwqxTw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:SegmentRetailMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_RoyaltiesMember_YF1aUPpxdUCSJX1stTDoXg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:RoyaltiesMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_nkB06WxPA0OxXc7f_h07Zg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_InsuranceMember_fmq4MiOMy0ub2rIL9u0Kdg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:InsuranceMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_FuelOilMember_6GPmBn3L-0KPvFtTnlY1BQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:FuelOilMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_EmployeeCostsMember_bIWKq5RfEkiFNs9Aq6N5_Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:EmployeeCostsMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_DepreciationMember_sLS-p1a5IESi2YQ7C-rTjA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:DepreciationMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_CostOfPlantSalesMember_mLcVbsFXBEiaUjTcypQlyg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:CostOfPlantSalesMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_YEVu63Hoi0q9QEyPbknlzw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:BulkMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_OtherExpenseMember_vbXMWytAKkOCFtxYZjX4lg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:OtherExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_MaintenanceMember_6iYt2gEtEUGezZ9OVF7xVg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_ElectricityMember_f8IXGKyadkyYilGhZ4F9Dg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:ElectricityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_SubcontractorAndOtherProjectCostsMember_p8hLBubTtEai_O-YymOVjQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:SubcontractorAndOtherProjectCostsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_RoyaltiesMember_N47O_RTFH0WOiA3GtBgSew"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:RoyaltiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_InsuranceMember_rK2O92hQvUeRfxQOrAmZbw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:InsuranceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_FuelOilMember_R-wITW4xLk6FWS8D8MP55w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:FuelOilMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_EmployeeCostsMember_40yYODM2M0m4eLrz6c5tlg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:EmployeeCostsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_DepreciationMember_Rx0GvWPc-EipH48w2y44cg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:DepreciationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_CostOfPlantSalesMember_eN551kVrsE2ZDDKBtVQSTw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:CostOfPlantSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_cXdBb_NVyEyv0R-Mp02DsA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_GrossProfitMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_1STKPf6TiUeVe3wSNKAiPg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:GrossProfitMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassBMember_CNVGN63SQUmDkK1HNKqZ2Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_ZVzwBZGRcUmURhjGB3mM7Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassBMember_j7t5QY8ABkWqw-1qgBI1dw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_vh2QUCelvEC4r_5iR09Lbg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_5_14_2008_us-gaap_OptionIndexedToIssuersEquityTypeAxis_cwco_EquityIncentivePlan2008Member_16nn6bq2CUeGWVe6B8GRLA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityTypeAxis">cwco:EquityIncentivePlan2008Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2008-05-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_BS_us-gaap_CashAndCashEquivalentsAxis_us-gaap_CertificatesOfDepositMember_0Z6rk_q0Okujdj5GX5uvJA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BS</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_CashAndCashEquivalentsAxis_us-gaap_CertificatesOfDepositMember_w-26Mh_Jl0ODGylH5Bbo-Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_BS_us-gaap_CashAndCashEquivalentsAxis_us-gaap_CertificatesOfDepositMember_8rUdYW5GDUGAiZfRLOOF2A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BS</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_CashAndCashEquivalentsAxis_us-gaap_CertificatesOfDepositMember_hlxQMQYPNkypuuFEVTJm0Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_CurrencyAxis_currency_USD_RQ8hUvb1hEOUgjDr_01DPQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:USD</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_CurrencyAxis_currency_KYD_OoWJjtLIBUeT6bIZ4dIATA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:KYD</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_CurrencyAxis_currency_BSD_UPtKyAOKmEKIJZRtQDMYqg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:BSD</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_CurrencyAxis_currency_USD_RBtuWvMU0Em1L6I-r0D8eg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:USD</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_CurrencyAxis_currency_KYD_D_uv01voGECpchOEfrb4VQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:KYD</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_CurrencyAxis_currency_BSD_p-g5Rvz1W0Cs0_Ixm8zfAQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:BSD</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_4_2023_To_1_4_2023_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_yOgK1SLiHkOOenJfWHS0YA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:PercWaterCorporationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-04</xbrli:startDate><xbrli:endDate>2023-01-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_4_2023_To_1_4_2023_srt_OwnershipAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_UxDkQZ43KEKIN7Oj-2FtIw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">cwco:PercWaterCorporationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-04</xbrli:startDate><xbrli:endDate>2023-01-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_4_2023_To_1_4_2023_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_nxzepvPzM0KtcDwK9rOS1g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:PercWaterCorporationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-04</xbrli:startDate><xbrli:endDate>2023-01-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_4_2023_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember__4drtsrZXESsUSyeQaBULg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:PercWaterCorporationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-04</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_4_2023_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_M9Tj3LyaM0eIw-2WpzSUOw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:PercWaterCorporationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-04</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2012_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_cwco_NSCAguaMember_nJS1kulStUK0Kdgxr5V7Gg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">cwco:NSCAguaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2012-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_C1Q_2pxGgEajIBJo0wB9rQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_TLtZahT8OESWkwJywg0TxQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cwco:NonperformancebasedGrantsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_CoTYfknnZkWQ6jcDlAa32g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</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-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_8L9TdyjAwUmKrhFBWu0n3A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</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-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_sVZM8sptB060CYkSHWHWRA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</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-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_I2OmzWVSNkSCzqLm30ZhFQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QJOC8_YvekSx3jYgssHhsg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_2UsxKjkbU0ikVBMMDThnkA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_A5Sm1Xw1fE6wyiLPCVUhkw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</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="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_ibTALvn6G0O1xlMvSAp0HA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</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="Duration_10_1_2019_To_10_31_2019_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_qJv6rTnCrUOw3DapZWXfEQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:PercWaterCorporationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-10-01</xbrli:startDate><xbrli:endDate>2019-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2016_To_2_29_2016_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_wIPNOocXKEOnANGxioMlCQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2016-02-01</xbrli:startDate><xbrli:endDate>2016-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_MajorCustomersAxis_cwco_WSCMember_qBKQcLXzfkOhn3zBjmX31Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cwco:WSCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_MajorCustomersAxis_cwco_WSCMember_3t1KGfarBU-BjDelzIMeqw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cwco:WSCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_cwco_PercWaterCorporationMember_V92CEwDlokyy-KCOgpl1dA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">cwco:PercWaterCorporationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_cwco_PercWaterCorporationMember_K_j9JEvI_UO9v1KqTSC8xg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">cwco:PercWaterCorporationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2022_CpskOIngdUGv6wyhPW6Hzw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_24_2023_9sHmSgSBwUCqsg_zXEQ96g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-03-24</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_PerformancebasedGrantsMember_V-Wlg5yZHkqFDTqJViFW7A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cwco:PerformancebasedGrantsMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_-o2zEQaSHkqorN6pHkRDrg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cwco:NonperformancebasedGrantsMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_PerformancebasedGrantsMember_WkphmXfbEEGIfdh9g_0VTg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cwco:PerformancebasedGrantsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_22_2016_To_8_22_2016_cwco_TypeOfPhasesAxis_cwco_SecondPhaseMember_srt_OwnershipAxis_cwco_NSCAguaMember_CRd5YYF9mEufmgRhhivLeQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="cwco:TypeOfPhasesAxis">cwco:SecondPhaseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">cwco:NSCAguaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2016-08-22</xbrli:startDate><xbrli:endDate>2016-08-22</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_22_2016_To_8_22_2016_cwco_TypeOfPhasesAxis_cwco_FirstPhaseMember_srt_OwnershipAxis_cwco_NSCAguaMember_roSAHkYavES55nLQFW9Rqw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="cwco:TypeOfPhasesAxis">cwco:FirstPhaseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">cwco:NSCAguaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2016-08-22</xbrli:startDate><xbrli:endDate>2016-08-22</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_5_1_2010_To_5_31_2010_srt_OwnershipAxis_cwco_NSCAguaMember_o1P21uztVUeONg-bTW14zA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">cwco:NSCAguaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2010-05-01</xbrli:startDate><xbrli:endDate>2010-05-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_SXc5aIGFJU2gV7zovx78OA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">cwco:MexicoProjectDevelopmentMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_Zz0y3hTN3UeiDEFFxvFEiQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">cwco:MexicoProjectDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_22_2016_To_8_22_2016_srt_OwnershipAxis_cwco_NSCAguaMember_ZQ2zplKDEUKq2piBPsd4sg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">cwco:NSCAguaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2016-08-22</xbrli:startDate><xbrli:endDate>2016-08-22</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2012_To_12_31_2012_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_cwco_NSCAguaMember_1K26GRGPsU6Fce9D2BT6gQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">cwco:NSCAguaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2012-01-01</xbrli:startDate><xbrli:endDate>2012-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_JXh8waiEEEKrYIEZO0oMNA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_6_29_2020_To_6_29_2020_sPMd70VDuUCJoqa8nbPbZQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-29</xbrli:startDate><xbrli:endDate>2020-06-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_kEbnJUzLjE2FsIu-1h89WA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</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="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_jGE2s8GJJkWvq8WTeRNORA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</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="As_Of_12_31_2020_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_Gl5483341kqHQU7d8i3CcQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_6_1_2021_To_6_30_2021_cwco_FairValueDeterminingMethodAxis_cwco_GuidelinePublicCompanyMethodMember_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_QnWNYZr1aU2yBA8BoGe2yg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="cwco:FairValueDeterminingMethodAxis">cwco:GuidelinePublicCompanyMethodMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-06-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_6_1_2021_To_6_30_2021_cwco_FairValueDeterminingMethodAxis_cwco_DiscountedCashFlowMethodMember_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_vwIK9Cj09Uaz5vGO9GKkMw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="cwco:FairValueDeterminingMethodAxis">cwco:DiscountedCashFlowMethodMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-06-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_cwco_FairValueDeterminingMethodAxis_cwco_GuidelinePublicCompanyMethodMember_JU9dvwDmDUKF9tdpPFKbLw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="cwco:FairValueDeterminingMethodAxis">cwco:GuidelinePublicCompanyMethodMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_cwco_FairValueDeterminingMethodAxis_cwco_DiscountedCashFlowMethodMember_S9l0DYfIFEGZh49BRV-2wQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="cwco:FairValueDeterminingMethodAxis">cwco:DiscountedCashFlowMethodMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_cwco_FairValueDeterminingMethodAxis_cwco_GuidelinePublicCompanyMethodMember_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_MHHEvXRhcUGCYVTyKvHmIA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="cwco:FairValueDeterminingMethodAxis">cwco:GuidelinePublicCompanyMethodMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_cwco_FairValueDeterminingMethodAxis_cwco_DiscountedCashFlowMethodMember_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_21QoIM_rokG9s_Bq4-iyzQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="cwco:FairValueDeterminingMethodAxis">cwco:DiscountedCashFlowMethodMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_YQxK6fXQiEq2dHsFaCDZRA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_6gOn62bGkUyBNtALONgh0Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2vl2R6GlI06abktd3rVnpQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:SegmentRetailMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_HNPzq4QEk02hzXW6t4ppyg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_354kqbefw0aUK7SVE131BQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:BulkMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_7IdFP3y9GUK4CqDwqwuYqA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_cwco_WaterAndSewerageCorporationMember_esbf11VJtECLay_63AnQqw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cwco:WaterAndSewerageCorporationMember</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_cwco_OneCustomerMember_9QIwsDVJX0C42rsJ6oSh1g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cwco:OneCustomerMember</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_cwco_WaterAndSewerageCorporationMember_3nw4hEHvOUKq9XyzXSvAZg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cwco:WaterAndSewerageCorporationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_cwco_OneCustomerMember_lcJWJF1fG0C0RkmArUO7Sw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cwco:OneCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_10_1_2022_To_12_31_2022_-oElvctT2E2iCas2iUBgNg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-10-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_7_1_2022_To_9_30_2022_NsZM1mrQEUeBajSIepdPgQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-07-01</xbrli:startDate><xbrli:endDate>2022-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_6_30_2022_KWISKwBNxk6Fodei6dW_oA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</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="Duration_1_1_2022_To_3_31_2022_VZ-Hp1VMckyT6pla0npLNw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</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="Duration_10_1_2021_To_12_31_2021_wQS9cikntUeiK4UOCeJOAQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-10-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_7_1_2021_To_9_30_2021_1tLgiMlUY02WY9O8BWiB_A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-01</xbrli:startDate><xbrli:endDate>2021-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2021_To_6_30_2021_bqhiZq-Z1Emw_qHVhtG5MA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_3_31_2021_uuEE-5V0ZkWDT-R-7k-0qw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_iY1jPOijHk6biRp1Mim8bA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">cwco:MexicoProjectDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_EiEaJPjeIUm9qIXa_8FpnQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">cwco:MexicoProjectDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_8_28_2020_To_8_28_2020_ZfbhLREj80G86h6sYfxZrA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-08-28</xbrli:startDate><xbrli:endDate>2020-08-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_cb8Hwa4bnkurzN00jZkoNw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_BRXp6TrknEizerUcsq5ffw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonStockMember_ROTuIP-Ci0azhf2ymCxf_g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_AjbJjcVS60Oq3_8Jk4K9Og"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonStockMember_fPb33q03cUOApGb1OUAYcA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_pxLqNsYtpU-9zhcxX9fmtg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_yMI9TJT-Yk6yWsERADhHnQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:SegmentRetailMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_wxINsIqBXkCzaTLgmTHg1w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_xkyubD2rlkm1lvMQEhsMKA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:BulkMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_DnuL5xir2EGdN8ch70dVVA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_t-WGu84yA0WBcTVNs_Ujzg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:SegmentRetailMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_C80WhF3-F0q5OZlO-1TxgA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_kEOiRg9EdUmY3kDhVT3eHA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:BulkMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier></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="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_2cgc8-j8cUCv6seVGLB6Uw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</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="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000928340</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_gal_UpEjAnoTDkiUT8wjiEd8vw"><xbrli:measure>utr:gal</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw"><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="Unit_Standard_MXN_NKR-5MDyu0K7g_77FJiDAw"><xbrli:measure>iso4217:MXN</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_customer_I__u2hNVxESU-KAhCd2jdg"><xbrli:measure>cwco:customer</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_ha_DTzSJvvPjEizTLVgW4jN-Q"><xbrli:measure>utr:ha</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_segment_oJ9B98qfoEOgvam78GGlOQ"><xbrli:measure>cwco:segment</xbrli:measure></xbrli:unit></ix:resources></ix:header></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:1pt;padding-top:1pt;text-align:justify;border-bottom:1px solid #000000;border-top:3.0pt solid #000000;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;background:#00ff00;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="color:#00b050;font-size:5pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="_ed183530_03eb_4893_9931_f7c6783cea8d"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">UNITED STATES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">SECURITIES AND EXCHANGE COMMISSION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt 0pt 7pt 0pt;"><b style="font-weight:bold;">Washington, DC 20549</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 7pt 0pt;"><b style="font-size:7pt;font-weight:bold;">FORM&#160;</b><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:DocumentType" id="Narr_SRnpkkpNV0q5JOhsB9686A"><b style="font-size:7pt;font-weight:bold;">10-K</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">(Mark One)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:4pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:DocumentAnnualReport" id="Narr_vfFIMVrxI0m4HKne2kjb0A"><span style="font-family:'Segoe UI Symbol';font-size:7pt;">&#9746;</span></ix:nonNumeric><span style="font-size:7pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><b style="font-size:7pt;font-weight:bold;">ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:4pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 7pt 0pt;"><b style="font-size:7pt;font-weight:bold;">For the fiscal&#160;year ended </b><ix:nonNumeric format="ixt:datemonthdayyearen" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:DocumentPeriodEndDate" id="Narr_kS-a4HYrgUqD0QqcoLBf3g"><b style="font-size:7pt;font-weight:bold;">December&#160;31, 2022</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">OR</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:4pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:DocumentTransitionReport" id="Narr_IGzWGXf_XkWo1HQV5OqUzg"><span style="font-family:'Segoe UI Symbol';font-size:7pt;">&#9744;</span></ix:nonNumeric><span style="font-size:7pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><b style="font-size:7pt;font-weight:bold;">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:4pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">For the transaction period from __________________ to __________________</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 7pt 0pt;"><b style="font-size:7pt;font-weight:bold;">Commission File Number: </b><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:EntityFileNumber" id="Narr_JCr_2zTTn0CqBcJFWC9bAg"><b style="font-size:7pt;font-weight:bold;">0-25248</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:EntityRegistrantName" id="Narr_9yCatVcZqUucYW-MwZkOow"><b style="font-weight:bold;">CONSOLIDATED WATER CO.&#160;LTD.</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">(Exact name of Registrant as specified in its charter)</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:4pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="_96b8be10_1fda_4857_b5e6_00acc52d5830"></a><a id="Tc_RnXwXWF0NUKiFFZphsLf7g_2_0"></a><a id="Tc_Zo5QDa4om0WlG2z-FOfYyg_2_2"></a><a id="Tc_mvRNG-IbHkeO16ujguDl9A_3_0"></a><a id="Tc_edG6H08M00qRWOUE9Urw1Q_8_0"></a><a id="Tc_17QXpABFf0eBk8NWp1CPzw_8_2"></a><a id="Tc_E2tNEN2LN0uZNbiPymd_Kg_9_0"></a><a id="Tc_RCNirJU6P0KR97nZgDhiaQ_9_2"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"></td><td style="vertical-align:top;width:1.99%;margin:0pt;padding:0pt;"></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"></td></tr><tr><td style="vertical-align:top;width:49%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="-sec-ix-hidden:Hidden_YsBfAwV42k6d7z45AQwZMw;"><b style="font-family:'Times New Roman','Times','serif';font-size:7pt;font-style:normal;font-weight:bold;">CAYMAN ISLANDS</b></span></p></td><td style="vertical-align:top;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:EntityTaxIdentificationNumber" id="Tc_MmdOzbqKgkmp8h_X3cGzZQ_1_2"><b style="font-size:7pt;font-weight:bold;">98-0619652</b></ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">(State or other jurisdiction of</p></td><td style="vertical-align:top;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">(I.R.S. Employer Identification No.)</p></td></tr><tr><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">incorporation or organization)</p></td><td style="vertical-align:top;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:EntityAddressAddressLine1" id="Tc_qiRR01fRL0KRj76mFqtu9A_5_0"><b style="font-size:7pt;font-weight:bold;">Regatta Office Park</b></ix:nonNumeric></p></td><td style="vertical-align:top;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:EntityAddressAddressLine2" id="Tc_A1uCL-jMQE-b-vzUM7o5eQ_6_0"><b style="font-size:7pt;font-weight:bold;">Windward Three, 4th Floor, West Bay Road</b></ix:nonNumeric></p></td><td style="vertical-align:top;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:EntityAddressAddressLine3" id="Tc_Z4pGZ6aY80Clg4i4NT0bJA_7_0"><b style="font-size:7pt;font-weight:bold;">P.O.&#160;Box 1114</b></ix:nonNumeric></p></td><td style="vertical-align:top;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:49%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:EntityAddressCityOrTown" id="Narr_mB5LGTV0A0K9qRXe3RLVVw"><b style="font-size:7pt;font-weight:bold;">Grand Cayman</b></ix:nonNumeric><b style="font-size:7pt;font-weight:bold;">, </b><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:EntityAddressPostalZipCode" id="Narr_P6GWXwd94Eqh5pyUfga77A"><b style="font-size:7pt;font-weight:bold;">KY1-1102</b></ix:nonNumeric><b style="font-size:7pt;font-weight:bold;">, </b><ix:nonNumeric format="ixt-sec:countrynameen" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:EntityAddressCountry" id="Narr_FXA6HHA7eUiWD4J8dVbbKg"><b style="font-size:7pt;font-weight:bold;">Cayman Islands</b></ix:nonNumeric></p></td><td style="vertical-align:top;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:49%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">N/A</b></p></td></tr><tr><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">(Address of principal executive offices)</p></td><td style="vertical-align:top;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">(Zip Code)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:4pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 7pt 0pt;"><span style="font-size:7pt;">Registrant&#8217;s telephone number, including area code: </span><b style="font-size:7pt;font-weight:bold;">(</b><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:CityAreaCode" id="Narr_p4m2DH9WN0-Mg0nZv24tKw"><b style="font-size:7pt;font-weight:bold;">345</b></ix:nonNumeric><b style="font-size:7pt;font-weight:bold;">) </b><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:LocalPhoneNumber" id="Narr_eWXlBxltWkC09-8r7IcNfQ"><b style="font-size:7pt;font-weight:bold;">945-4277</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Securities registered pursuant to Section&#160;12(b)&#160;of the Act:</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:4pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="_01f068e7_a648_474c_aa6f_cdd0b48870a1"></a><a id="Tc_QQA5kGk1PUi-kmY3VDnGWw_1_0"></a><a id="Tc_bbU2KBQTIEOa03wlSLFq9Q_1_2"></a><a id="Tc_WylA-84ZBkCf-urFuINDFQ_1_4"></a><a id="Tc_9zhuZkc2a0-4w88GJ7kvtg_2_0"></a><a id="Tc_YcZ6KXDz1EaP1PBL1sbIYw_2_4"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:1.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:19.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:1.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:31%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Title of each class:</b></p></td><td style="vertical-align:top;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:19.99%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Trading Symbol</b></p></td><td style="vertical-align:top;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:45%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Name of each exchange on which registered</b></p></td></tr><tr><td style="vertical-align:top;width:31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:Security12bTitle" id="Narr_zQmyW8rDYkW69TbI3wQlsQ"><span style="font-size:7pt;">Common Stock</span></ix:nonNumeric><span style="font-size:7pt;">, $0.60 Par Value</span></p></td><td style="vertical-align:top;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:19.99%;border-top:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:TradingSymbol" id="Tc_UV9yVWbI2UWdQ3ThO7VSZA_2_2"><span style="font-size:7pt;">CWCO</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;">The </span><ix:nonNumeric format="ixt-sec:exchnameen" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:SecurityExchangeName" id="Narr_3xxLUudTlEeRnkKrhHPShw"><span style="font-size:7pt;">NASDAQ</span></ix:nonNumeric><span style="font-size:7pt;"> Stock Market LLC (NASDAQ Global Select Market)</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:4pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt 0pt 7pt 0pt;"><b style="font-weight:bold;">Securities registered pursuant to Section&#160;12(g)&#160;of the Act: None</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt;">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule&#160;405 of the Securities Act.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 7pt 0pt;"><span style="font-size:7pt;">Yes&#160;</span><span style="font-family:'Times New Roman';font-size:7pt;">&#9723;</span><span style="font-size:7pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:EntityWellKnownSeasonedIssuer" id="Narr_IDFz-2ozzEadXJw-5kEWfA"><span style="font-size:7pt;">No</span></ix:nonNumeric><span style="font-size:7pt;"> </span><span style="font-family:'Times New Roman';font-size:7pt;">&#8999;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt;">Indicate by check mark if the registrant is not required to file reports pursuant to Section&#160;13 or Section&#160;15(d)&#160;of the Act.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 7pt 0pt;"><span style="font-size:7pt;">Yes </span><span style="font-family:'Times New Roman';font-size:7pt;">&#9723;</span><span style="font-size:7pt;">&#160;&#160;&#160;&#160;&#160;&#160; </span><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:EntityVoluntaryFilers" id="Narr_v6CncNnbsECFKDK_DvRPrQ"><span style="font-size:7pt;">No</span></ix:nonNumeric><span style="font-size:7pt;"> </span><span style="font-family:'Times New Roman';font-size:7pt;">&#8999;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt;">Indicate by check mark whether the registrant (1)&#160;has filed all reports required to be filed by Section&#160;13 or 15(d)&#160;of the Securities Exchange Act of 1934 during the preceding 12&#160;months (or for such shorter period that the registrant was required to file such reports), and (2)&#160;has been subject to such filing requirements for the past 90&#160;days.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 7pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:EntityCurrentReportingStatus" id="Narr_Q4apIuHXXU6hm29ei_huUQ"><span style="font-size:7pt;">Yes</span></ix:nonNumeric><span style="font-size:7pt;"> </span><span style="font-family:'Times New Roman';font-size:7pt;">&#8999;</span><span style="font-size:7pt;"> &#160;&#160;&#160;No </span><span style="font-family:'Times New Roman';font-size:7pt;">&#9723;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt;">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule&#160;405 of Regulation S-T (Sec. 232.405 of this chapter) during the preceding 12&#160;months (or for such shorter period that the registrant was required to submit such files).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 7pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:EntityInteractiveDataCurrent" id="Narr_wiFG8-VKs0iEblZ3xwMQ5g"><span style="font-size:7pt;">Yes</span></ix:nonNumeric><span style="font-size:7pt;"> </span><span style="font-family:'Times New Roman';font-size:7pt;">&#8999;</span><span style="font-size:7pt;">&#160;&#160;&#160;&#160;&#160;&#160; No </span><span style="font-family:'Times New Roman';font-size:7pt;">&#9723;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt;">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company,&#8221; and &#8220;emerging growth company&#8221; in Rule&#160;12b-2 of the Exchange Act.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:4pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:24.99%;margin:0pt;padding:0pt;"></td><td style="vertical-align:top;width:24.99%;margin:0pt;padding:0pt;"></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"></td></tr><tr><td style="vertical-align:top;width:24.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">Large accelerated filer <span style="font-family:'Times New Roman';">&#9723;</span></p></td><td style="vertical-align:top;width:24.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">Accelerated filer <span style="font-family:'Times New Roman';">&#9723;</span></p></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric format="ixt-sec:entityfilercategoryen" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:EntityFilerCategory" id="Narr_nxnieQm30ku3e0Q0xdVLVQ"><span style="font-size:7pt;">Non-accelerated filer</span></ix:nonNumeric><span style="font-size:7pt;"> </span><span style="font-family:'Times New Roman';font-size:7pt;">&#8999;</span></p></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;">Smaller reporting company </span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:EntitySmallBusiness" id="Narr_MpYEnDATXEa3tFOXjw_GVg"><span style="font-family:'Segoe UI Symbol';font-size:7pt;">&#9746;</span></ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:24.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:24.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;">Emerging growth company </span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:EntityEmergingGrowthCompany" id="Narr_H06R1_PSMUaac_SpZd-C1Q"><span style="font-family:'Segoe UI Symbol';font-size:7pt;">&#9744;</span></ix:nonNumeric></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:4pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt 0pt 7pt 0pt;">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&#160;13(a)&#160;of the Exchange Act. <span style="font-family:'Times New Roman';">&#9723;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:7pt;">Indicate by check mark whether the registrant has filed a report on and attestation to its management&#8217;s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report. &#160;</span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:IcfrAuditorAttestationFlag" id="Narr_H_VpgpLrHkuWEmlzDadMDg"><span style="font-family:'Segoe UI Symbol';font-size:7pt;">&#9744;</span></ix:nonNumeric><span style="font-size:7pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:7pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt;">If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements. <span style="font-family:'Segoe UI Symbol';">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:7pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt;">Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant&#8217;s executive officers during the relevant recovery period pursuant to &#167;240.10D-1(b). <span style="font-family:'Segoe UI Symbol';">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:7pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt;">Indicate by check mark whether the registrant is a shell company (as defined in Rule&#160;12b-2 of the Exchange Act).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 7pt 0pt;"><span style="font-size:7pt;">Yes&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:7pt;">&#9744;</span><span style="font-size:7pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;No </span><ix:nonNumeric format="ixt:booleanfalse" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:EntityShellCompany" id="Narr_dNmHS-_5e0uDXGWVP1VltA"><span style="font-family:'Times New Roman';font-size:7pt;">&#8999;</span></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt 0pt 7pt 0pt;">The aggregate market value of common stock held by non-affiliates of the registrant, based on the closing sales price for the registrant&#8217;s common shares, as reported on the NASDAQ Global Select Market on June&#160;30, 2022, was $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" format="ixt:numdotdecimal" scale="0" contextRef="As_Of_6_30_2022_CpskOIngdUGv6wyhPW6Hzw" decimals="0" name="dei:EntityPublicFloat" id="Narr_oGn06h2Z7kmNmCLxlrH59w">209,109,778</ix:nonFraction>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt 0pt 7pt 0pt;">As of March&#160;24, 2023, <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" format="ixt:numdotdecimal" scale="0" contextRef="As_Of_3_24_2023_9sHmSgSBwUCqsg_zXEQ96g" decimals="0" name="dei:EntityCommonStockSharesOutstanding" id="Narr_ZULlFLiqdUivL_gOeliAmA">15,722,244</ix:nonFraction> shares of the registrant&#8217;s common shares were outstanding.</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt 0pt 7pt 0pt;"><b style="font-weight:bold;">DOCUMENTS INCORPORATED BY REFERENCE:</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:justify;margin:0pt;">Portions of the registrant&#8217;s Proxy Statement related to its 2023 Annual Shareholders&#8217; Meeting will be subsequently filed with the Securities and Exchange Commission and are incorporated by reference into Part&#160;III of this Form&#160;10-K.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:7pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:1pt;padding-top:1pt;text-align:justify;border-bottom:3.0pt solid #000000;border-top:1px solid #000000;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'Times New Roman','Times','serif';line-height:0pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:0pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_95a38072_a134_4226_962a_bcb81625ca77"></a><a id="TOC"></a><a id="_Hlk129861315"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">TABLE OF CONTENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;</p></div></div></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Section</b></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"></td><td style="vertical-align:top;width:78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Description</b></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Page</b></p></td></tr><tr><td colspan="3" style="vertical-align:top;width:94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#CAUTIONARYNOTEREGARDINGFORWARDLOOKINGSTA"><span style="font-style:normal;font-weight:normal;">Cautionary Note Regarding Forward-Looking Statements</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">3</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#PARTI_3913"><span style="font-style:normal;font-weight:normal;">PART&#160;I</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">4</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt 0pt 0pt 9.89pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM1BUSINESS_692433"><span style="font-style:normal;font-weight:normal;">Item 1.</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM1BUSINESS_692433"><span style="font-style:normal;font-weight:normal;">Business</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">4</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt 0pt 0pt 9.89pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM1ARISKFACTORS_204204"><span style="font-style:normal;font-weight:normal;">Item 1A.</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM1ARISKFACTORS_204204"><span style="font-style:normal;font-weight:normal;">Risk Factors</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">15</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt 0pt 0pt 9.89pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM1BUNRESOLVEDSTAFFCOMMENTS_18744"><span style="font-style:normal;font-weight:normal;">Item 1B.</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM1BUNRESOLVEDSTAFFCOMMENTS_18744"><span style="font-style:normal;font-weight:normal;">Unresolved Staff Comments</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">22</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt 0pt 0pt 9.89pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM2PROPERTIES_34383"><span style="font-style:normal;font-weight:normal;">Item 2.</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM2PROPERTIES_34383"><span style="font-style:normal;font-weight:normal;">Properties</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">22</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt 0pt 0pt 9.89pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM3LEGALPROCEEDINGS_473093"><span style="font-style:normal;font-weight:normal;">Item 3.</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM3LEGALPROCEEDINGS_473093"><span style="font-style:normal;font-weight:normal;">Legal Proceedings</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">24</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt 0pt 0pt 9.89pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM4MINESAFETYDISCLOSURE_339474"><span style="font-style:normal;font-weight:normal;">Item 4.</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM4MINESAFETYDISCLOSURE_339474"><span style="font-style:normal;font-weight:normal;">Mine Safety Disclosure</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">24</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#PARTII_440321"><span style="font-style:normal;font-weight:normal;">PART&#160;II</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">24</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt 0pt 0pt 9.89pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM5MARKETFORREGISTRANTSCOMMONEQUITYREL"><span style="font-style:normal;font-weight:normal;">Item 5.</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM5MARKETFORREGISTRANTSCOMMONEQUITYREL"><span style="font-style:normal;font-weight:normal;">Market for Registrant&#8217;s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">24</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt 0pt 0pt 9.89pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM6SELECTEDFINANCIALDATA_458213"><span style="font-style:normal;font-weight:normal;">Item 6.</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM6SELECTEDFINANCIALDATA_458213"><span style="font-style:normal;font-weight:normal;">Selected Financial Data</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">25</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt 0pt 0pt 9.89pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM7MANAGEMENTSDISCUSSIONANDANALYSISOFF"><span style="font-style:normal;font-weight:normal;">Item 7.</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM7MANAGEMENTSDISCUSSIONANDANALYSISOFF"><span style="font-style:normal;font-weight:normal;">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">25</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt 0pt 0pt 9.89pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM7AQUANTITATIVEANDQUALITATIVEDISCLOSU"><span style="font-style:normal;font-weight:normal;">Item 7A.</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM7AQUANTITATIVEANDQUALITATIVEDISCLOSU"><span style="font-style:normal;font-weight:normal;">Quantitative and Qualitative Disclosure about Market Risk</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">38</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt 0pt 0pt 9.89pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM8FINANCIALSTATEMENTSANDSUPPLEMENTARY"><span style="font-style:normal;font-weight:normal;">Item 8.</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM8FINANCIALSTATEMENTSANDSUPPLEMENTARY"><span style="font-style:normal;font-weight:normal;">Financial Statements and Supplementary Data</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">39</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt 0pt 0pt 9.89pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM9CHANGESINANDDISAGREEMENTSWITHACCOUN"><span style="font-style:normal;font-weight:normal;">Item 9.</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM9CHANGESINANDDISAGREEMENTSWITHACCOUN"><span style="font-style:normal;font-weight:normal;">Changes in and Disagreements with Accountants on Accounting and Financial Disclosure</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">74</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt 0pt 0pt 9.89pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM9ACONTROLSANDPROCEDURES_316636"><span style="font-style:normal;font-weight:normal;">Item 9A.</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM9ACONTROLSANDPROCEDURES_316636"><span style="font-style:normal;font-weight:normal;">Controls and Procedures</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">74</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt 0pt 0pt 9.89pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM9BOTHERINFORMATION"><span style="font-style:normal;font-weight:normal;">Item 9B.</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM9BOTHERINFORMATION"><span style="font-style:normal;font-weight:normal;">Other Information</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">76</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt 0pt 0pt 9.89pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM9C_DISCLOSUREREGARDINGFOREIGN"><span style="font-style:normal;font-weight:normal;">Item 9C.</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM9C_DISCLOSUREREGARDINGFOREIGN"><span style="font-style:normal;font-weight:normal;">Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">76</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#PARTIII_659249"><span style="font-style:normal;font-weight:normal;">PART&#160;III</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">76</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt 0pt 0pt 9.89pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM10DIRECTORSEXECUTIVEOFFICERSANDCORPO"><span style="font-style:normal;font-weight:normal;">Item 10.</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM10DIRECTORSEXECUTIVEOFFICERSANDCORPO"><span style="font-style:normal;font-weight:normal;">Directors, Executive Officers and Corporate Governance</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">76</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt 0pt 0pt 9.89pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM11EXECUTIVECOMPENSATION_314827"><span style="font-style:normal;font-weight:normal;">Item 11.</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM11EXECUTIVECOMPENSATION_314827"><span style="font-style:normal;font-weight:normal;">Executive Compensation</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">76</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt 0pt 0pt 9.89pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM12SECURITYOWNERSHIPOFCERTAINBENEFICI"><span style="font-style:normal;font-weight:normal;">Item 12.</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM12SECURITYOWNERSHIPOFCERTAINBENEFICI"><span style="font-style:normal;font-weight:normal;">Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">76</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt 0pt 0pt 9.89pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM13CERTAINRELATIONSHIPSANDRELATEDTRAN"><span style="font-style:normal;font-weight:normal;">Item 13.</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM13CERTAINRELATIONSHIPSANDRELATEDTRAN"><span style="font-style:normal;font-weight:normal;">Certain Relationships and Related Transactions, and Director Independence</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">77</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt 0pt 0pt 9.89pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM14PRINCIPALACCOUNTINGFEESANDSERVICES"><span style="font-style:normal;font-weight:normal;">Item 14.</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM14PRINCIPALACCOUNTINGFEESANDSERVICES"><span style="font-style:normal;font-weight:normal;">Principal Accounting Fees and Services</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">77</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#PARTIV_761160"><span style="font-style:normal;font-weight:normal;">PART&#160;IV</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">77</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt 0pt 0pt 9.89pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM15EXHIBITSFINANCIALSTATEMENTSSCHEDUL"><span style="font-style:normal;font-weight:normal;">Item 15.</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM15EXHIBITSFINANCIALSTATEMENTSSCHEDUL"><span style="font-style:normal;font-weight:normal;">Exhibits, Financial Statement Schedules</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">77</p></td></tr><tr><td style="vertical-align:top;width:15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#SIGNATURES_660710"><span style="font-style:normal;font-weight:normal;">SIGNATURES</span></a></p></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:78%;margin:0pt;padding:0pt;"></td><td style="vertical-align:top;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">82</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-size:12pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">2</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_006b77bc_0542_433f_a432_3274940c248a"></a><a id="CAUTIONARYNOTEREGARDINGFORWARDLOOKINGSTA"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CAUTIONARY NOTE REGARDING FORWARD-LOOKING STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">This Annual Report on Form&#160;10-K contains forward-looking statements within the meaning of the Private Securities Litigation Reform Act of 1995, including but not limited to, statements regarding our future revenue, future plans, objectives, expectations and events, assumptions and estimates. Forward-looking statements can be identified by use of the words or phrases &#8220;will,&#8221; &#8220;will likely result,&#8221; &#8220;are expected to,&#8221; &#8220;will continue,&#8221; &#8220;estimate,&#8221; &#8220;project,&#8221; &#8220;potential,&#8221; &#8220;believe,&#8221; &#8220;plan,&#8221; &#8220;anticipate,&#8221; &#8220;expect,&#8221; &#8220;intend,&#8221; or similar expressions and variations of such words. Statements that are not historical facts are based on our current expectations, beliefs, assumptions, estimates, forecasts and projections for our business and the industry and markets related to our business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The forward-looking statements contained in this report are not guarantees of future performance and involve assumptions and certain risks and uncertainties which are difficult to predict. Actual outcomes and results may differ materially from what is expressed in such forward-looking statements. Important factors which may affect these actual outcomes and results include, without limitation:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_Hlk129730585"></a><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">tourism and weather conditions in the areas we serve</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the economic, political and social conditions of each country in which we conduct or plan to conduct business;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our relationships with the government entities and other customers we serve;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">regulatory matters, including resolution of the negotiations for the renewal of our retail license on Grand Cayman;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our ability to successfully enter new markets; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">other factors, including those &#8220;Risk Factors&#8221; set forth under Part I, Item 1A. &#8220;Risk Factors&#8221; in this Annual Report.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The forward-looking statements in this Annual Report speak as of its date. We expressly disclaim any obligation or undertaking to update or revise any forward-looking statement contained in this Annual Report to reflect any change in our expectations with regard thereto or any change in events, conditions or circumstances on which any forward-looking statement is based, except as may be required by law.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">References herein to &#8220;we,&#8221; &#8220;our,&#8221; &#8220;ours&#8221; and &#8220;us&#8221; refer to Consolidated Water Co. Ltd. and its subsidiaries.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note Regarding Currency and Exchange Rates</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Unless otherwise indicated, all references to &#8220;$&#8221; or &#8220;US$&#8221; are to United States dollars.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The exchange rate for conversion of Cayman Island dollars (CI$) into US$, as determined by the Cayman Islands Monetary Authority, has been fixed since April&#160;1974 at US$1.20 per CI$1.00.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The exchange rate for conversion of Bahamas dollars (B$) into US$, as determined by the Central Bank of The Bahamas, has been fixed since 1973 at US$1.00 per B$1.00.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The official currency of the British Virgin Islands is the US$.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">3</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><a id="_81a06674_e48e_4a3e_a2ac_b5fc9759a54b"></a><a id="PARTI_3913"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">PART&#160;I</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="ITEM1BUSINESS_692433"></a><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:54pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">ITEM 1.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">BUSINESS</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Overview</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Through our subsidiaries and affiliate, we provide the following services to our customers in the Cayman Islands, The Bahamas, the United States and the British Virgin Islands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Retail Water Operations.</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> We produce potable water from seawater utilizing reverse osmosis technology and supply this water to end-users, including residential, commercial and government customers in the Cayman Islands under an exclusive retail license issued by the Cayman Islands government to provide water in two of the three most populated areas on Grand Cayman. In 2022, our retail water operations generated approximately 27% of our consolidated revenue.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Bulk Water Operations.</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> We produce potable water from seawater utilizing reverse osmosis technology and supply this water to government-owned distributors in the Cayman Islands and The Bahamas. In 2022, our bulk water operations generated approximately 35% of our consolidated revenue.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 18pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Services Operations</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">. We design, construct and sell water production and water treatment plants, and we manage and operate water production plants, and water treatment and reuse infrastructure for third parties. We also provide water related consulting services. In 2022, our services operations generated approximately 31% of our consolidated revenue.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Manufacturing Operations.</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> We manufacture and service a wide range of specialized and custom water-related products and systems applicable to commercial, municipal and industrial water production, supply and treatment. In 2022, our manufacturing operations generated approximately 7% of our consolidated revenue.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Affiliate Operations. </i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">We own 50% of the voting rights and 43.53% of the equity rights of Ocean Conversion (BVI) Ltd., which produces and supplies bulk water to the British Virgin Islands Water and Sewerage Department.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">As of December&#160;31, 2022, the number of water production and water treatment plants we and our affiliate operated in each country, and the production capacities of these plants, were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:77.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:77.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Water Production Plant Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Plants</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Capacity</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td></tr><tr><td style="vertical-align:bottom;width:77.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cayman Islands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9.9</span></p></td></tr><tr><td style="vertical-align:bottom;width:77.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Bahamas</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14.8</span></p></td></tr><tr><td style="vertical-align:bottom;width:77.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">British Virgin Islands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.8</span></p></td></tr><tr><td style="vertical-align:bottom;width:77.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 25.5</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">(1) </p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">In millions of gallons per day.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:77.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:77.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Water Treatment Plant Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Plants</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Capacity</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td></tr><tr><td style="vertical-align:bottom;width:77.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 27</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 52.5</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:77.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">(1) </p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">In estimated millions of gallons per day.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">4</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:187.5pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Strategy</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We are a comprehensive water solutions company that serves a variety of customers through multiple product and service offerings. Presently, we:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">produce and sell potable water through the development and operation of water infrastructure that employs reverse osmosis technology to produce potable water from seawater;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">develop, sell and manage water treatment and water reuse system infrastructure that meets regulatory, environmental and commercial needs and requirements;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">fabricate/manufacture specialized and custom equipment and products employed in the production and treatment of water for municipal, commercial and industrial purposes; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">provide water-related management and consulting services.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We expect to continue to expand and diversify our products, services and markets to meet the ever-expanding global demand for water.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Key elements of our strategy include:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Market expansion. </i>We continue to seek to expand our existing operations in the markets we believe have significant unfulfilled demands for desalinated potable water, water treatment and reuse systems and our other products and services. These markets include the United States and the Caribbean. We may also pursue business in other markets where we believe we can be successful.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Complementary products, services and businesses</i>. We continue to pursue acquisitions or joint ventures that (i)&#160;complement and enhance our existing businesses; (ii)&#160;expand our product and service offerings and markets; and (iii)&#160;support our objective to be a comprehensive water solutions provider.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Our Company</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We conduct our operations in the Cayman Islands, The Bahamas, the United States, and the British Virgin Islands through our subsidiaries and our affiliate. Our corporate organizational structure as of December 31, 2022 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><img src="cwco-20221231x10k003.jpg" alt="Graphic" style="display:inline-block;height:186.95pt;left:0%;padding-bottom:0.55pt;position:relative;top:0pt;width:485.3pt;" /></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Retail Segment</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Cayman Water Company Limited (&#8220;Cayman Water&#8221;)</i>. Cayman Water operates under an exclusive retail license granted by the Cayman Islands government to provide water to customers within a prescribed service area on Grand Cayman that includes the Seven Mile Beach and West Bay areas, two of the three most populated areas in the Cayman Islands. Cayman </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">5</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Water owns and operates four seawater reverse osmosis desalination plants. Cayman Water and the Water Authority-Cayman (&#8220;WAC&#8221;), a government-owned utility and regulatory agency, are Grand Cayman&#8217;s only water utilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Aquilex,&#160;Inc. (&#8220;Aquilex&#8221;)</i>. Aquilex, a U.S. company located in Coral Springs, Florida, provides financial, engineering, information technology, administrative and supply chain management support services to our subsidiaries and affiliate. We include Aquilex in our retail segment for financial segment reporting purposes; however, it provides services to all four of our business segments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Bulk Segment</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Consolidated Water (Bahamas) Limited (&#8220;CW-Bahamas&#8221;).</i> We own 90.9% of CW-Bahamas, which provides bulk water under long-term contracts to the Water and Sewerage Corporation of The Bahamas (&#8220;WSC&#8221;), a government agency. CW-Bahamas owns and operates our largest desalination plant and one other desalination plant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Ocean Conversion (Cayman) Limited (&#8220;OC-Cayman&#8221;).</i> OC-Cayman provides bulk water under long-term contracts to the WAC, which distributes the water to properties located outside our exclusive retail license service area on Grand Cayman. OC-Cayman built, sold and operates&#160;three seawater reverse osmosis desalination plants owned by the WAC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Services Segment</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">DesalCo Limited (&#8220;DesalCo&#8221;).</i> A Cayman Islands company, DesalCo provides design, management, engineering and construction services for desalination projects as well as management and engineering services relating to municipal water distribution and treatment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">PERC Water Corporation (&#8220;PERC&#8221;).</i> On October&#160;24, 2019, we purchased, through our wholly-owned U.S. subsidiary, Consolidated Water U.S. Holdings,&#160;Inc. (&#8220;CW-Holdings&#8221;), 51% of the equity in PERC, a U.S. company headquartered in Fountain Valley, California. PERC develops, builds, sells, operates and manages water, wastewater and water reuse infrastructure. <span style="background:#ffffff;">In August 2020, we purchased an additional&#160;10% ownership interest of PERC, increasing our ownership of this subsidiary to&#160;61%. In January 2023, we acquired the remaining 39% ownership interest in PERC.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Manufacturing Segment</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Aerex Industries,&#160;Inc. (&#8220;Aerex&#8221;)</i>. Aerex, a U.S. company located in Fort Pierce, Florida, is an original equipment manufacturer of a wide range of specialized and custom products and systems applicable to desalination, municipal water treatment and industrial water and wastewater treatment. Aerex&#8217;s products include reverse osmosis desalination equipment, membrane separation equipment, filtration equipment, piping systems, vessels and custom fabricated components. Aerex also offers engineering, design, consulting, inspection, training and equipment maintenance services to its customers. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Affiliate</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Ocean Conversion (BVI) Ltd. (&#8220;OC-BVI&#8221;)</i><span style="font-style:italic;font-weight:bold;">.</span> We own 50% of the voting stock of OC-BVI, a British Virgin Islands company, which sells bulk water to the Government of the British Virgin Islands Water and Sewerage Department. We own an overall 43.53% equity interest in OC-BVI&#8217;s profits and certain profit-sharing rights that raise our effective interest in OC-BVI&#8217;s profits to approximately 45%. OC-BVI also pays our subsidiary, DesalCo, fees for certain engineering and administrative services. We account for our investment in OC-BVI under the equity method of accounting.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Discontinued Operations - Mexico Project Development</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Consolidated Water Cooperatief, U.A. (&#8220;CW-Cooperatief&#8221;), N.S.C. Agua, S.A. de C.V. (&#8220;NSC&#8221;) and Aguas de Rosarito S.A.P.I. de C.V. (&#8220;AdR&#8221;).</i> CW-Cooperatief is a wholly-owned Netherlands subsidiary incorporated in 2010. CW-Cooperatief owns 99.9% of NSC, a Mexican company. NSC was formed to pursue a project encompassing the design, construction, ownership and operation of a 100 million gallon per day seawater reverse osmosis desalination plant which </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">6</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">was to be located in northern Baja California, Mexico and accompanying pipeline to deliver water to the Mexican potable water system (the &#8220;Project&#8221;).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On August 22, 2016, the Public Private Partnership Agreement for the Project (the &#8220;APP Contract&#8221;) was executed between AdR, the Comisi&#243;n Estatal del Agua de Baja California (&#8220;CEA&#8221;), the Government of Baja California as represented by the Secretary of Planning and Finance and the Public Utilities Commission of Tijuana (&#8220;CESPT&#8221;).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On June 29, 2020, the Director General of CEA and the Director General of CESPT terminated the APP Contract. As a result of the cancellation of the APP Contract, we discontinued all development activities associated with the Project and commenced active marketing efforts to sell the land NSC purchased for the Project. Accordingly, the assets and liabilities of CW-Cooperatief, NSC and AdR, as well as all expenses we incur in connection with our on-going international arbitration with the Mexico government to obtain reimbursement for the costs we incurred in connection with the Project are reported as discontinued operations in our consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Our Operations</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">For fiscal year 2022, our retail water, bulk water, services and manufacturing segments generated approximately 27%, 35%, 31% and 7%, respectively, of our consolidated revenue. For additional information about our business segments and geographical information about our operating revenue and long-lived assets, see Note 14 to our consolidated financial statements at ITEM 8 of this Annual Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Retail Water Operations</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">For fiscal years 2022 and 2021, our retail water operations accounted for approximately 27%, and 33%, respectively, of our consolidated revenue. This business produces and supplies potable water to end-users, including residential, commercial and government customers in the Cayman Islands.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We sell water through our retail operations under a license issued in July&#160;1990 by the Cayman Islands government (the &#8220;1990 license&#8221;) that granted Cayman Water the exclusive right to provide potable water to customers within its licensed service area. Although the 1990 license was not expressly extended after January&#160;2018, we continue to supply water under the terms of the 1990 license, as discussed in the following paragraphs. Pursuant to the 1990 license, Cayman Water has the exclusive right to produce potable water and distribute it by pipeline to its licensed service area, which consists of two of the three most populated areas of Grand Cayman: Seven Mile Beach and West Bay.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The 1990 license was originally scheduled to expire in July&#160;2010 but was extended several times by the Cayman Islands government in order to provide the parties with additional time to negotiate the terms of a new license agreement. The most recent express extension of the license expired on January&#160;31, 2018. We continue to operate under the terms of the 1990 license, providing water services to the level and quality specified in the 1990 license and in accordance with our understanding of its legal obligations, treating those obligations set forth in the 1990 license as operative notwithstanding the expiration of the express extension. We continue to pay the royalty of 7.5% of revenue we collect required under the 1990 license.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In October&#160;2016, the Government of the Cayman Islands passed legislation which created a new utilities regulation and competition office (&#8220;OfReg&#8221;). OfReg is an independent and accountable regulatory body with a view of protecting the rights of consumers, encouraging affordable utility services and promoting competition. OfReg, which began operations in January&#160;2017, has the ability to supervise, monitor and regulate multiple utility undertakings and markets. Supplemental legislation was passed by the Government of the Cayman Islands in April&#160;2017, which transferred responsibility for economic regulation of the water utility sector and the negotiations with us for a new retail license from the WAC to OfReg in May&#160;2017. We began license negotiations with OfReg in July&#160;2017 and such negotiations are ongoing. We have been informed during our retail license negotiations, both by OfReg and its predecessor in these negotiations, that the Cayman Islands government seeks to restructure the terms of our license in a manner that could significantly reduce the operating income and cash flows we have historically generated from our retail license.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">7</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">See also ITEM 1A. RISK FACTORS and ITEM 7. MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS - Material Commitments, Expenditures and Contingencies - <i style="font-style:italic;">Cayman Water Retail License</i>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our retail operations in the Cayman Islands produce potable water at four seawater reverse osmosis desalination plants in Grand Cayman located at our Abel Castillo Water Works (&#8220;ACWW&#8221;), Britannia and West Bay sites. We own the land for our ACWW and West Bay plants and have entered into a lease for the land for our Britannia plant that expires January&#160;1, 2027. The current aggregate production capacity of the two plants located at ACWW is 3.0 million gallons of water per day. The production capacity of the Britannia plant is 715,000 gallons of water per day. The production capacity of the West Bay plant is 885,000 gallons of water per day.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Electricity to our plants is supplied by Caribbean Utilities Co. Ltd., a publicly traded utility company. We maintain diesel engine-driven standby generators at all three retail plant sites with sufficient capacity to operate our distribution pumps and other essential equipment during any temporary interruptions in electricity supply. Standby generation capacity is available at our ACWW plants and West Bay plant to operate a portion of the water production capacity as well.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our distribution system is connected to the distribution system of the WAC. In prior years, during emergencies, we have purchased water from the WAC for brief periods of time and have also sold potable water to the WAC from our retail plants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our pipeline system on Grand Cayman covers the Seven Mile Beach and West Bay areas and consists of approximately 100 miles of potable water pipeline. We extend our distribution system periodically as demand warrants. We have a main pipe loop covering the Seven Mile Beach and West Bay areas. We place extensions of smaller diameter pipe off our main pipe to service new developments in our service area. This system of building branches from the main pipe keeps construction costs low and allows us to provide service to new areas in a timely manner. Developers are responsible for laying the pipeline within their developments at their own cost, but in accordance with our specifications. When a development is completed, the developer then transfers operation and maintenance of the pipeline to us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We bill our customers on a monthly basis based on metered consumption and bills are typically collected within 30 to 45 days after the billing date. Receivables not collected within 45 days subject the customer to disconnection from water service. Bad debts have historically represented less than 1% of our total annual retail sales. In addition to their past due invoice balance, customers that have had their service disconnected must pay re-connection charges.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Historically, demand on our water production and pipeline distribution has varied throughout the year. Demand depends upon various factors, most notably rainfall amounts and the number of tourists during any particular time of the year. In general, the majority of tourists come from the United States during the winter which is also the dry season in the Cayman Islands. The COVID-19 pandemic and the resulting cessation of tourism to the Cayman Islands significantly reduced demand for our water. In August 2022, the Cayman Islands government lifted the COVID-19 pandemic related travel restrictions that had eliminated tourist travel to the Cayman Islands since March 2020.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Bulk Water Operations</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">For fiscal years 2022 and 2021, our bulk water operations accounted for approximately 35%, and 40%, respectively, of our consolidated revenue. These operations produce potable water from seawater and sell this water to government-owned utilities in the Cayman Islands and The Bahamas, which then distribute the water to end users.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Bulk Water Operations in the Cayman Islands</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Through our wholly-owned subsidiary OC-Cayman we provide bulk water to the WAC, a government-owned utility and regulatory agency, under two agreements. The WAC in turn distributes that water to properties in Grand Cayman outside of our retail license area.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The water we provide to the WAC is produced at three seawater reverse osmosis desalination plants in Grand Cayman owned by the WAC but designed, built and operated by OC-Cayman: the North Sound, Red Gate and North Side Water </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">8</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Works (&#8220;NSWW&#8221;) plants, which have production capacities of approximately 1.6 million, 1.3 million and 2.4 million gallons of water per day, respectively. The plants we operate for the WAC are located on land owned by the WAC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our agreement with the WAC for the North Sound and Red Gate plants expires in 2024. Our agreement with the WAC for the NSWW plant expires in 2026.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Bulk Water Operations in The Bahamas</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We sell bulk water in The Bahamas through our majority-owned subsidiary, CW-Bahamas, to the WSC, which distributes the water through its own pipeline system to residential, commercial and tourist properties on the Island of New Providence.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">We supply bulk water in The Bahamas from our Windsor and Blue Hills plants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our water supply agreement with the WSC for our Windsor plant, which has a capacity of 2.8 million gallons per day, expires in August&#160;2033 and requires us to deliver and requires the WSC to purchase a minimum of 16.8 million gallons per week.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We supply water from the Blue Hills plant, our largest seawater reverse osmosis desalination facility with a capacity of 12.0 million gallons per day, under the terms of a water supply agreement with the WSC that expires in March&#160;2032 that requires us to deliver and requires the WSC to purchase a minimum of 63.0 million gallons of water each week.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The high-pressure pumps at our Windsor and Blue Hills plants in The Bahamas are diesel engine-driven. Electricity for the remainder of our plant operations is supplied by Bahamas Power and Light Company (&#8220;BPL&#8221;). We maintain a standby generator with sufficient capacity to operate essential equipment at our Windsor and Blue Hills plants and are able to produce 100% of the production capacity with these plants during temporary interruptions in the electricity supply from BPL.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Services Operations</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">For fiscal years 2022 and 2021, our services operations accounted for approximately 31% and 21%, respectively, of our consolidated revenue.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We provide design, engineering and construction services for desalination infrastructure projects through DesalCo, an original equipment manufacturer of seawater reverse osmosis desalination plants. DesalCo also provides management and procurement services for desalination plants and engineering services relating to municipal water production, distribution and treatment. DesalCo also conducts research and development. DesalCo sometimes tests new components and technology offered by suppliers in our business and, at times, collaborates with suppliers in the development of their products. Presently, DesalCo is providing management and purchasing services to our affiliate OC-BVI in the British Virgin Islands. In the past, DesalCo has provided consulting services to the WSC and constructed and sold desalination plants to the WAC, and is presently constructing the Red Gate desalination plant for the WAC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On October&#160;24, 2019, we acquired 51% of the common stock of PERC, a U.S. company headquartered in Fountain Valley, California, which commenced operations in 1998. In August 2020, we acquired an additional 10% of PERC, increasing our ownership of this subsidiary to 61%. PERC develops, builds, and sells wastewater and water reuse infrastructure. PERC also provides management services for wastewater and water reuse infrastructure under long-term operations and maintenance contracts. PERC&#8217;s primary markets are California and the Southwest U.S., but it conducts business in other areas of the U.S. In January 2023, we acquired the remaining 39% ownership interest in PERC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Manufacturing Operations</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">For fiscal years 2022 and 2021, our manufacturing operations accounted for approximately 7% and 6%, respectively, of our consolidated revenue. Our manufacturing operations consist of Aerex, an original equipment manufacturer and service provider of a wide range of specialized and custom products applicable to desalination, municipal water treatment and </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">9</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">industrial water and wastewater treatment. Aerex&#8217;s products include reverse osmosis desalination equipment, membrane separation equipment, filtration equipment, piping systems, vessels and custom fabricated components. Aerex&#8217;s manufacturing facility and headquarters are located in Fort Pierce, Florida and substantially all of its customers are U.S. companies.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Affiliate Operations</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our affiliate, OC-BVI, sells water to the Government of the British Virgin Islands Water and Sewerage Department (&#8220;BVIW&amp;S&#8221;). We own 50% of the voting shares of OC-BVI and have an overall 43.53% equity interest in the profits of OC-BVI. We also own separate profit-sharing rights in OC-BVI that raise our effective interest in OC-BVI&#8217;s profits from 43.53% to approximately 45%. Sage Water Holdings (BVI) Limited (&#8220;Sage&#8221;) owns the remaining 50% of the voting shares of OC-BVI and the remaining 55% interest in its profits. Under the Articles of Association of OC-BVI, we have the right to appoint three of the six Directors of OC-BVI. Sage is entitled to appoint the remaining three Directors. In the event of a tied vote of the Directors, the President of the Caribbean Water and Wastewater Association, a regional trade association comprised primarily of government representatives, is entitled to appoint a junior director to cast a deciding vote.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Through DesalCo, we provide certain engineering and administrative services to OC-BVI for a monthly fee and a bonus arrangement which provides for payment of 4% of the net operating income of OC-BVI.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We account for our investment in OC-BVI using the equity method of accounting.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">OC-BVI sells bulk water to BVIW&amp;S, which distributes the water through its own pipeline system to residential, commercial and tourist properties on the islands of Tortola and Jost Van Dyke in the British Virgin Islands.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">OC-BVI owns and operates a desalination plant located at Bar Bay, Tortola with a capacity of 720,000 gallons per day. Pursuant to a water supply agreement with the BVI government, OC-BVI is required to supply up to 600,000 gallons per day to the BVI government. This water supply agreement expires March&#160;2031.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">OC-BVI purchases electrical power to operate this plant from BVI Electric Co. and operates diesel engine-driven emergency power generators which can produce 100% of the plant&#8217;s production capacity when BVI Electric Co. is unable to provide power to the plant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">OC-BVI&#8217;s plant on the island of Jost Van Dyke has a capacity of 60,000 gallons per day. This plant operates under a 10-year contract with the BVI government that expired July&#160;8, 2013. Pursuant to the contract, OC-BVI is operating the plant on a year-to-year basis until the BVI government informs OC-BVI of its intention to extend the existing contract or enter into a new agreement. We purchase electrical power to operate this plant from BVI Electric Co.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Reverse Osmosis Technology</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The conversion of seawater to potable water is called desalination. The primary method of seawater desalination used throughout the world is reverse osmosis. Reverse osmosis is a fluid separation process in which the saline water (i.e. seawater)&#160;is pressurized and the fresh water is separated from the saline water by passing through a semi-permeable membrane which rejects the salts. The saline water is first passed through a pretreatment system, which generally consists of fine filtration and treatment chemicals, if required. Pre-treatment removes suspended solids and organics which could cause fouling of the membrane surface. Next, a high-pressure pump pressurizes the saline water thus enabling approximately 40% conversion of the saline water to fresh water as it passes through the membrane, while more than 99% of the dissolved salts are rejected and remain in the now concentrated saline water. This concentrate is discharged without passing through the membrane, and the remaining hydraulic energy in the concentrate is transferred to the initial saline feed water with an energy recovery device thus reducing the total energy requirement for the reverse osmosis system. The final step is post-treatment, which consists of stabilizing the produced fresh water and/or removing undesirable dissolved gases, adjusting the pH&#160;and (if necessary) the mineral content, and providing chlorination to prepare it for distribution.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We use reverse osmosis technology to convert seawater to potable water at all of the desalination plants we construct and operate. We believe that this technology is the most effective and efficient conversion process for our markets. However, </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">10</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">we are always seeking ways to maximize efficiencies in our current processes and investigating new, more efficient processes to convert seawater to potable water. The equipment at our desalination plants is among the most energy efficient available and we monitor and maintain the equipment in an efficient manner. As a result of our decades of experience in seawater desalination, we believe our expertise and experience with respect to the development and operation of desalination plants and similar facilities is easily transferable to locations outside of our current operating areas.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Wastewater Treatment Technology</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our wastewater treatment comprises various technologies which rely on the action of microorganisms to treat wastewater. The sequential batch reactor (&#8220;SBR&#8221;) technology we typically use is a conventional, proven method which has been used to treat organic wastewater for many years. More than 1,000 SBR treatment facilities are in use in the United States ranging in size from 10,000 gallons per day to 22 million gallons per day. Increasingly, we utilize membrane bioreactor (&#8220;MBR&#8221;) technology which utilizes micro or ultra-filtration membranes to enhance biological wastewater treatment. The improvements offered by MBR technology include a reduced physical footprint for the facility, higher quality treated effluent and the ability to treat more challenging influent.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">PERC has improved upon the standard SBR and MBR processes and whenever possible locates its equipment in concealed areas and in aesthetically pleasing buildings that minimize foul odors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Raw Materials and Sources of Supply</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">All materials, parts and supplies essential to our business operations are obtained from multiple sources and we use the latest industry technology. Prior to our acquisition of Aerex, we did not manufacture any parts or components for equipment essential to our business. Aerex has manufactured key components for some of our desalination plants and we expect Aerex to continue to do so from time to time, however, our other businesses are not dependent on Aerex.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our access to seawater for processing into potable water is granted through our licenses and contracts with governments of the various jurisdictions in which we operate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Seasonal Variations in Our Business</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Demand for our water in the Cayman Islands, The Bahamas and the British Virgin Islands is affected by variations in the level of tourism and rainfall. Tourism in our service areas is affected by the economies of the tourists&#8217; home countries, primarily the United States and Europe, terrorist activity and perceived threats thereof, global health concerns such as COVID-19, and increased costs of fuel and airfare. In the Cayman Islands, we normally sell more water during the first and second quarters of the year, when the number of tourists is greater and local rainfall is less than in the third and fourth quarters. The COVID-19 pandemic and the resulting cessation of tourism to the Cayman Islands significantly reduced demand for our water in 2021. In August 2022, the Cayman Islands government lifted the COVID-19 pandemic related travel restrictions that had eliminated tourist travel to the Cayman Islands since March 2020. Demand in The Bahamas was not affected to the same degree by the drop in tourism resulting from the COVID-19 pandemic.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The business conducted by Aerex and PERC is generally not subject to seasonal variations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Government Regulations, Custom Duties and Taxes</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our operations and activities are subject to the governmental regulations and taxes of the countries in which we operate. The following summary of regulatory developments and legislation does not purport to describe all present and proposed regulation and legislation that may affect our businesses. Legislative or regulatory requirements currently applicable to our businesses may change in the future. Any such changes could impose new obligations on us that may adversely affect our businesses and operating results. The following paragraphs set forth some of the key governmental regulations in the jurisdictions in which we operate outside of the United States.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">11</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Cayman Islands</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Cayman Islands are a British Overseas Territory with a stable political climate since 1670, when the Treaty of Madrid ceded the Cayman Islands to England. The King of England appoints the Governor of the Cayman Islands to make laws with the advice and consent of the Parliament of the Cayman Islands. The Parliament of the Cayman Islands consists of 19 elected members and&#160;two members appointed by the Governor from the Civil Service. The Cabinet is responsible for day-to-day government operations. The Cabinet consists of the Premier and six other ministers who are chosen by the Premier from its 19 popularly elected members, and the two Civil Service members. The elected members choose from among themselves a leader, who is designated the Premier, and is in effect the leader of the elected government. The Governor has reserved powers and the United Kingdom retains full control over foreign affairs and defense. The Cayman Islands are a common law jurisdiction and have adopted a legal system similar to that of the United Kingdom.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Cayman Islands have no taxes on profits, income, distributions, capital gains or appreciation. We have exemptions from, or receive concessionary rates of customs duties on, certain capital expenditures for plant and major consumable spare parts and supplies imported into the Cayman Islands under our retail water license. We do not pay import duty or taxes on reverse osmosis membranes, electric pumps and motors, and chemicals, but we do pay duty at the rate of 10% of the cost, including insurance and transportation to the Cayman Islands, of other plant and associated materials and equipment to manufacture or supply water in the Seven Mile Beach or West Bay areas. We have been advised by the Government of the Cayman Islands that we will not receive any duty concessions in any new retail water license signed with the government.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">The Bahamas</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Commonwealth of The Bahamas is an independent nation and a constitutional parliamentary democracy with the King of England as the constitutional head of state. The basis of the Bahamian law and legal system is the English common law tradition with a Supreme Court, Court of Appeals, and a Magistrates court.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Under the current laws of the Commonwealth of The Bahamas, no income, corporation, capital gains or similar taxes are payable by us. We are required to pay an annual business license fee (the calculation of which is based on our preceding year&#8217;s financial statements) which to date has not been material to the results of our Bahamas operations. We are also required to pay a value added tax on materials and services we purchase.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">British Virgin Islands</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The British Virgin Islands (&#8220;BVI&#8221;) is a British Overseas Territory, with the King of England as the Head of State and His Majesty&#8217;s representative, the Governor, responsible for external affairs, defense and internal security, the Civil Service and administration of the courts. Since 1967, the BVI has held responsibility for its own internal affairs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The BVI Constitution provides for the people of the BVI to be represented by a ministerial system of government, led by an elected Premier, a Cabinet of Ministers and the House of Assembly. The House of Assembly consists of 13 elected representatives, the Attorney General, and the Speaker.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The judicial system, based on English law, is under the direction of the Eastern Caribbean Supreme Court, which includes the High Court of Justice and the Court of Appeal. The ultimate appellate court is the Privy Council in London.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Markets and Service Areas</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We operate in the Cayman Islands, The Bahamas, the United States and the British Virgin Islands. We believe that potential new markets for us include (i)&#160;any location where a need for potable water exists and reverse osmosis desalination of seawater or brackish water is an economically viable means of meeting such need; (ii)&#160;any location with a need for the water treatment and water reuse infrastructure development and management services we provide; and (iii)&#160;those new customers that require specialized water production and treatment products and systems such as those we manufacture.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">12</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Cayman Islands.</i> The Cayman Islands government, through the WAC, supplies water to the areas of Grand Cayman that are not within our licensed area, as well as to Cayman Brac. We operate all but one of the reverse osmosis desalination plants owned by the WAC on Grand Cayman and supply water under two agreements held by OC-Cayman with the WAC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">According to the most recent information published by the Economics and Statistics Office of the Cayman Islands Government, the population of the Cayman Islands was estimated in 2021 to be 71,105 after the census count. According to the figures published by the Department of Tourism Statistics Information Center, in 2022 as compared to 2021, tourist air arrivals increased over 1000% to approximately 284,000 and tourist cruise ship arrivals increased from zero to approximately 743,000.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We believe that our water sales in the Cayman Islands are more positively impacted by stay-over tourists that arrive by air than by those arriving by cruise ship, since cruise ship tourists generally only visit the island for one day or less and do not remain on the island overnight. Our water sales in the Cayman Islands are also greatly impacted by rainfall patterns and amounts on Grand Cayman.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">The Bahamas.</i> The Bahamas government, through the WSC, supplies all of the piped water on the island of New Providence, Bahamas, which includes Nassau, the largest city, political capital and commercial hub of The Bahamas. We supply water to the WSC through the water supply agreements for our Blue Hills and Windsor plants, which are located in Nassau. New Providence is the most populous island in The Bahamas, with more than 70% of the country&#8217;s population. A 2010 census placed the population of New Providence at approximately 246,000; more recent estimates suggest it is approximately 275,000. According to statistics published by the Bahamas Ministry of Tourism, the number of cruise ship arrival and air arrival tourists to New Providence were approximately 590,000 and 320,000, respectively, in 2020 and were approximately 465,000 and 650,000, respectively, in 2021. The most current data published by the Bahamas Ministry of Tourism for 2022 shows that the number of cruise ship arrival and air arrival tourists were approximately 2,136,000 and 1,137,000, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">British Virgin Islands</i>. The British Virgin Islands are a British Overseas Territory and are situated east of Puerto Rico. They consist of 16 inhabited and more than 20 uninhabited islands, of which Tortola is the largest and most populated. The British Virgin Islands serve as a hub for many large yacht-chartering businesses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Competition</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Cayman Islands.</i> Pursuant to our license granted by the Cayman Islands government, we have the exclusive right to provide potable, piped water within our licensed service area on Grand Cayman. The last express extension of this license expired on January&#160;31, 2018. However, we continue to operate under the terms of this license, providing water services to the level and quality specified in the 1990 license and in accordance with its legal obligations, treating those obligations set forth in the license as operative notwithstanding the expiration of the express extension. Negotiations for a new license are on-going.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We are the only non-government-owned public water utility on Grand Cayman. The Cayman Islands government, through the WAC, supplies water to parts of Grand Cayman located outside of our licensed service area. Although we have no competition within our exclusive retail license service area for potable water, our ability to expand our service area is at the discretion of the Cayman Islands government. We have competed with such companies as SUEZ/Veolia, IDE Technologies and small local contractors for bulk water supply contracts with the WAC and expect to compete with these and other companies for any new water supply contracts awarded by the WAC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">The Bahamas</i>. We have competed with companies such as SUEZ/Veolia,&#160;IDE Technologies, and TSG for the contracts with The Bahamas government to build and operate seawater desalination plants in the past. We expect to compete with these companies and others for any future water supply contracts in The Bahamas.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">British Virgin Islands</i>. In the British Virgin Islands, SUEZ/Veolia operates seawater reverse osmosis desalination plants in West End, Tortola, and on Virgin Gorda and generally bids against OC-BVI for projects. Seven Seas Water owns and operates a 2.75 million gallon per day desalination plant in Parakeeta Bay, Tortola for the British Virgin Islands </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">13</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">government. We expect that OC-BVI will be required to compete against SUEZ/Veolia, Seven Seas Water and other parties for any future business opportunities that may arise in the British Virgin Islands.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">United States</i>. Aerex competes in the highly fragmented industry for manufactured water production and treatment equipment and systems against a large number of manufacturers, fabricators and service providers, many of which have greater resources than Aerex.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Similar to Aerex, PERC competes in the highly fragmented industry for water treatment and water reuse infrastructure development and management against a large number of companies, many of which have greater resources than PERC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Environmental and Health Regulatory Matters</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Cayman Islands.</i> With respect to our Cayman Islands operations, we operate our water plants in accordance with Cayman Islands laws and regulations. We are licensed by the WAC to extract seawater from wells and discharge concentrated seawater, which is a byproduct of our desalination process, into deep disposal wells.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our Cayman Islands retail water license and bulk water operating contracts require our potable water to meet the World Health Organization&#8217;s Guidelines for Drinking Water Quality and contain less than 200 mg/l of total dissolved solids.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">The Bahamas and&#160;British Virgin Islands.</i> With respect to our Bahamian operations and OC-BVI&#8217;s British Virgin Islands operations, we and OC-BVI are required by our water supply contracts to take all reasonable measures to prevent pollution of the environment. We are licensed by the Bahamian government to discharge concentrated seawater, which is a by-product of our desalination process, into deep disposal wells. OC-BVI is licensed by the British Virgin Islands government to discharge concentrated seawater into the sea.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">At several of our locations, hydrogen sulfide gas is present in the seawater and we are contractually obligated to operate our plants in a manner designed to prevent the emission of airborne gas into the environment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">United States.</i> Consistent with other U.S. companies, Aerex and PERC must comply with various federal laws and regulations, such as those administered by the U.S. Environmental Protection Agency and the Occupational Safety and Health Administration, as well as state and local laws and regulations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We are not aware of any existing or pending environmental legislation which may negatively affect our operations. Presently, we do not have any outstanding issues with any regulatory authority.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Human Capital</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We are committed to a work environment that is welcoming, inclusive and encouraging. To achieve our plans and goals, it is imperative that we attract and retain top talent. In order to do so, we aim to have a safe and encouraging workplace, with opportunities for our employees to grow and develop professionally, supported by strong compensation, benefits, and other incentives. We have historically experienced low employee turnover.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">As of March&#160;24, 2023, we employed a total of 223 persons, 62 in the Cayman Islands, 140 in the United States, 19 in The Bahamas and two in The Netherlands. We also managed the five employees of OC-BVI in the British Virgin Islands. We have 13 management employees and 45 administrative and clerical employees. The remaining employees are engaged in engineering, purchasing, plant maintenance and operations, pipe laying and repair, leak detection, new customer connections, meter reading and laboratory analysis of water quality. We have no collective bargaining agreements with our employees, and none are represented by labor unions. We consider our relationships with our employees to be very good.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_Hlk99018894"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">During the COVID-19 pandemic, we implemented a number of significant safety measures based on current guidelines recommended by the Centers for Disease Control for employees who work at our facilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">14</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Available Information</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our website address is http://www.cwco.com. Information contained on our website is not incorporated by reference into this Annual Report, and you should not consider information contained on our website as part of this Annual Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We have adopted a written code of conduct and ethics that applies to all of our employees and Directors, including, but not limited to, our principal executive officer, principal financial officer, and principal accounting officer or controller, or persons performing similar functions. The Code of Business Conduct and Ethics, the charters of the Audit Committee, Compensation Committee, Nominations and Corporate Governance Committee, Environmental and Social Governance Committee and the Corporate Governance Guidelines of our Board of Directors are available at the Investors section of our website.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">You may access, free of charge, our annual reports on Form&#160;10-K, quarterly reports on Form&#160;10-Q, and current reports on Form&#160;8-K, plus amendments to such reports as filed or furnished pursuant to Section&#160;13(a)&#160;or 15(d)&#160;of the Securities Exchange Act of 1934, as amended, on our website and on the website of the Securities and Exchange Commission (the &#8220;SEC&#8221;) as soon as reasonably practicable after we electronically file such material with, or furnish it to, the SEC. In addition, paper copies of these documents may be obtained free of charge by writing us at the following address: Consolidated Water Co. Ltd., Regatta Office Park, Windward Three, 4th Floor, West Bay Road, P.O.&#160;Box 1114, Grand Cayman, KY1-1102, Cayman Islands, Attention: Investor Relations; or by calling us at (345) 945-4277.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_ae27058d_9735_4bd5_9036_0c7891e7c729"></a><a id="_Hlk131000222"></a><a id="ITEM1ARISKFACTORS_204204"></a><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:54pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">ITEM 1A.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">RISK FACTORS</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Investing in our common stock involves risks. Before investing in our common stock, you should consider carefully the factors discussed below and the information contained in this Annual Report. Each of these risks, as well as other risks and uncertainties not presently known to us or that we currently deem immaterial, could adversely affect our business, results of operations, cash flows and financial condition, and cause the value of our common stock to decline, which may result in the loss of part, or all, of your investment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Our exclusive license to provide water to retail customers in the Cayman Islands has not been expressly extended and we are presently unable to predict the outcome of our on-going negotiations relating to this license.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We sell water through our retail operations under a license issued in July&#160;1990 by the Cayman Islands government (the &#8220;1990 license&#8221;) that granted Cayman Water the exclusive right to provide potable water to customers within its licensed service area. Although the 1990 license was not expressly extended after January&#160;2018, we continue to supply water under the terms of the 1990 license, as discussed in the following paragraphs. Pursuant to the 1990 license, Cayman Water has the exclusive right to produce potable water and distribute it by pipeline to its licensed service area, which consists of two of the three most populated areas of Grand Cayman Island: Seven Mile Beach and West Bay. In 2022 and 2021, we generated approximately 27% and 33%, respectively, of our consolidated revenue and 44% and 47%, respectively, of our consolidated gross profit from the retail water operations conducted under the 1990 license.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The 1990 license was originally scheduled to expire in July&#160;2010 but was extended several times by the Cayman Islands government in order to provide the parties with additional time to negotiate the terms of a new license agreement. The most recent express extension of the license expired on January&#160;31, 2018. We continue to operate under the terms of the 1990 license, providing water services to the level and quality specified in the 1990 license and in accordance with our understanding of its legal obligations, treating those obligations set forth in the 1990 license as operative notwithstanding the expiration of the express extension. We continue to pay the royalty of 7.5% of revenue we collect required under the 1990 license.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In October&#160;2016, the Government of the Cayman Islands passed legislation which created a new utilities regulation and competition office (&#8220;OfReg&#8221;). OfReg is an independent and accountable regulatory body with a view of protecting the rights of consumers, encouraging affordable utility services, and promoting competition. OfReg, which began operations in January&#160;2017, has the ability to supervise, monitor and regulate multiple utility undertakings and markets. Supplemental legislation was passed by the Government of the Cayman Islands in April&#160;2017, which transferred responsibility for economic regulation of the water utility sector and the negotiations with us for a new retail license from the WAC to OfReg </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">15</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">in May&#160;2017. We began license negotiations with OfReg in July&#160;2017 and such negotiations are ongoing. We have been informed during our retail license negotiations, both by OfReg and its predecessor in these negotiations, that the Cayman Islands government seeks to restructure the terms of our license in a manner that could significantly reduce the operating income and cash flows we have historically generated from our retail license.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We are presently unable to determine what impact the resolution of our retail license negotiations will have on our cash flows, financial condition or results of operations but such resolution could result in a material reduction (or the loss) of the operating income and cash flows we have historically generated from our retail operations and could require us to record impairment losses to reduce the carrying values of our retail segment assets. Such impairment losses could have a material adverse impact on our consolidated financial condition and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Periodically, our Bahamas subsidiary experiences substantial delays in the collection of its accounts receivable. As a result, our Bahamas subsidiary could have insufficient liquidity to continue operations, and our consolidated results of operations could be materially adversely affected.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">CW-Bahamas&#8217; accounts receivable balances (which include accrued interest) due from the WSC amounted to $16.3 million as of December&#160;31, 2022. Approximately 65% of this December&#160;31, 2022 accounts receivable balance was delinquent as of that date. The delay in collecting these accounts receivable has adversely impacted the liquidity of this subsidiary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">From time to time (including presently), CW-Bahamas has experienced delays in collecting its accounts receivable from the WSC. When these delays occur, we hold discussions and meetings with representatives of the WSC and The Bahamas government, and as a result, payment schedules are developed for WSC&#8217;s delinquent accounts receivable. All previous delinquent accounts receivable from the WSC, including accrued interest thereon, were eventually paid in full. Based upon this payment history, CW-Bahamas has never been required to provide an allowance for doubtful accounts for any of its accounts receivable, despite the periodic accumulation of significant delinquent balances. As of December&#160;31, 2022, we have not provided an allowance for doubtful accounts for CW-Bahamas&#8217; accounts receivable from the WSC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In its latest report dated October 6, 2022, Moody&#8217;s Investor Services (&#8220;Moody&#8217;s&#8221;) downgraded the Government of The Bahamas&#8217; long-term issuer and senior unsecured ratings to B1 from Ba3. Moody&#8217;s also lowered The Bahamas&#8217; local currency ceiling to Baa3 from Baa2 and its foreign currency ceiling to Ba1 from Baa3.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">If CW-Bahamas is unable to collect a significant portion of its delinquent accounts receivable, one or more of the following events may occur: (i)&#160;CW-Bahamas may not have sufficient liquidity to meet its obligations; (ii)&#160;we may be required to cease the recognition of revenue on CW-Bahamas&#8217; water supply agreements with the WSC; and (iii)&#160;we may be required to provide an allowance for doubtful accounts for CW-Bahamas&#8217; accounts receivable. Any of these events could have a material adverse impact on our consolidated financial condition, results of operations, and cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;background:#ffffff;margin:0pt;"><b style="font-weight:bold;">Most of our services segment revenue is generated under short-term contracts. An inability to obtain extensions of these contracts or to obtain new contracts to replace the revenue that is lost from contracts that are not extended could adversely impact our financial results.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">PERC, our principal services segment subsidiary, generates most of its revenue from contracts (&#8220;O&amp;M contracts&#8221;) to operate and maintain water treatment and reuse facilities owned by third parties. For 2022, we generated revenue of approximately $13.7 million under these O&amp;M contracts. PERC&#8217;s O&amp;M contracts have terms ranging from one to ten years, with varying renewal options exercisable solely at the discretion of the customer. Approximately 16% of PERC&#8217;s revenue for 2022 was generated under O&amp;M contracts that expire at various dates through December 31, 2023. If we are unable to obtain extensions of these expiring O&amp;M contracts or are unable to replace the revenue lost from contracts that expire with revenue from new O&amp;M contracts, our consolidated financial condition, results of operations, and cash flows would be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-weight:bold;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">16</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;background:#ffffff;margin:0pt;"><b style="font-weight:bold;">If the future financial performance of Aerex falls short of our most recent financial projections for this subsidiary, we may be required to record impairment losses to reduce the carrying values of the goodwill and intangible assets of our manufacturing segment.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;background:#ffffff;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">Approximately 80% of Aerex&#8217;s revenue, and 89% of Aerex&#8217;s gross profit, for the year ended December 31, 2020 were generated from sales to one customer. While Aerex sells various products to this customer, Aerex&#8217;s revenue from this customer has historically been derived primarily from one specialized product. In October 2020, this customer informed Aerex that, for inventory management purposes, it was suspending its purchases of the specialized product from Aerex following 2020 for a period of approximately one year. This customer informed Aerex at that time that it expected to recommence its purchases of the specialized product from Aerex beginning with the first quarter of 2022. As a result of this anticipated loss of revenue for Aerex, we updated our projections for our manufacturing reporting unit&#8217;s future cash flows. Such projections assumed, in part, that Aerex&#8217;s major customer would recommence its purchases from Aerex in 2022 but at a reduced aggregate amount, as compared to 2020. Based upon these updated projections, we tested our manufacturing reporting unit&#8217;s goodwill for possible impairment as of December 31, 2020 using the discounted cash flow and guideline public company methods, with a weighting of 80% and 20% applied to these two methods, respectively. As a result of these impairment tests, we determined that the estimated fair value of our manufacturing reporting unit exceeded its carrying value by approximately 31% as of December 31, 2020.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">In late July 2021, this former major customer communicated to Aerex that it expected to recommence its purchases of the specialized product from Aerex in 2022 and subsequent years, but informed Aerex that such purchases would be at substantially reduced annual amounts, as compared to the amounts it had purchased from Aerex in 2020 and prior years. Our updated sales estimate for this customer based on this new information was substantially below the anticipated sales to this customer for 2022 and subsequent years that we used in the discounted cash flow projections we prepared for purposes of testing our manufacturing reporting unit&#8217;s goodwill for possible impairment as of December 31, 2020. Furthermore, Aerex&#8217;s efforts to replace the revenue previously generated from this customer with revenue from existing and new customers were adversely impacted by the negative economic conditions (caused in part by the COVID-19 pandemic). These negative economic conditions also increased Aerex&#8217;s raw material costs, resulted in raw material shortages and extended delivery times for such materials, and adversely affected the overall financial condition of Aerex&#8217;s current and prospective customer base. Accordingly, in light of this new information from Aerex&#8217;s former major customer and the on-going weak economic conditions that we believed would continue through 2022, we updated our projections of future cash flows for the manufacturing reporting unit and tested its goodwill for possible impairment as of June 30, 2021 using the discounted cash flow and guideline public company methods, with a weighting of 80% and 20% applied to these two methods, respectively. Based upon this testing, we determined that the carrying value of our manufacturing reporting unit exceeded its fair value by $2.9 million, and we recorded an impairment loss to reduce our manufacturing segment&#8217;s goodwill by this amount for the three months ended June 30, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">The accounting estimates and assumptions we employ to estimate the fair values of our manufacturing and reporting units constitute &#8220;critical accounting estimates&#8221; for us because:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the nature of these estimates or assumptions is material due to the levels of subjectivity and judgment necessary to account for highly uncertain matters or the susceptibility of such matters to change (for example, should interest rates rise significantly in the future we would likely be required to increase the discount rate we use under the discounted cash flow method we use to estimate the fair values of our reporting units, and such increased discount rate in and of itself could decrease the estimated fair value of our reporting units under the discounted cash flow method); and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the impact of the estimates and assumptions on financial condition and results of operations is material.</span></td></tr></table><div style="margin-top:10pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">We believe the inherent uncertainties associated with the accounting estimates and assumptions we use for our estimates of our reporting units&#8217; fair values have increased due to current, less predictable economic conditions, which have resulted in increasing raw material prices, extended and unexpected delays in the procurement and delivery of our raw materials, and have also, we believe, adversely affected our customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Based upon our estimation prepared as of December 31, 2022, the fair value of our manufacturing reporting unit exceeded its carrying value by 63%. If we determine in the future that Aerex&#8217;s discounted future cash inflows will be less than our present expectations, we may be required to record additional impairment losses to reduce the remaining carrying values </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">17</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">of our manufacturing segment&#8217;s goodwill and its remaining unamortized intangible assets balances, which amounted to $1,985,211 and $754,444, respectively, as of December 31, 2022. Any such impairment losses could have a material adverse impact on our consolidated results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;background:#ffffff;">Current economic conditions are adversely impacting the supply chain for our operations and could have a material adverse impact on our financial results.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">As a result of the current economic conditions, we are experiencing issues with our supply chain for the raw materials, components, chemicals, and capital expenditures used in our operations, including rapidly increasing prices, scarcities/shortages, and longer fulfillment times and unexpected delays for our orders to suppliers. Should these economic conditions and issues continue, our operations could be adversely affected, which could have a material adverse impact on our consolidated financial condition, results of operations, and cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">The profitability of our contracts is dependent upon our ability to accurately estimate construction and operating costs.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The cost estimates we prepare in connection with the construction and operation of our water plants, the water infrastructure we construct and sell to third parties, and our manufacturing contracts, are subject to inherent uncertainties. Additionally, the terms of our water supply contracts may require us to guarantee the price of water on a per unit basis, subject to certain annual inflation and monthly energy cost adjustments, and to assume the risk that the costs associated with producing this water may be greater than anticipated. Because we base our contract prices in part on our estimation of future construction, manufacturing and operating costs, the profitability of our plants and our manufacturing and management contracts is dependent on our ability to estimate these costs accurately. The cost of materials and services and the cost of the delivery of such services may increase significantly after we submit our bid for contract, which could cause the gross profit for a contract to be less than we anticipated when the bid was made. The profit margins we initially expect to generate from a management contract could be further reduced if future operating costs for that contract exceed our estimates of such costs. Any construction, manufacturing, and operating costs for our contracts that significantly exceed our initial estimates could have a material adverse impact our consolidated financial condition, results of operations, and cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Certain of PERC&#8217;s contracts with its customers may be terminated at any time at the customer&#8217;s convenience or with relatively short advance notice. The termination of any of these contracts prior to their full performance may result in us realizing less than the full consideration payable under the contract and may negatively impact our financial results.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Certain of PERC&#8217;s contracts with its customers, and substantially all of its contracts with governments or municipalities, may be terminated at any time at the customer&#8217;s convenience with no or relatively short advance notice. Our business is highly dependent on the purchase of our products and services by government and municipalities, and we believe that contracts with similar termination provisions will continue to be a source of a substantial portion of our revenue for the foreseeable future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">If a customer terminates one of our contracts for convenience, we generally may recover, at most, our incurred or committed costs, settlement expenses, and payment for on work completed or products delivered prior to the termination. As such, the termination of any of these contracts prior to their stated term may result in us realizing less than the full consideration payable under the contract. If any such contract is terminated prior to us performing a substantial portion of the work to be performed or delivering a substantial portion of the products to be delivered, prior to the termination, such termination may have a material adverse impact on our consolidated results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">A significant portion of our consolidated revenue is derived from our water supply agreements with the WSC. The loss of the WSC as a customer would adversely affect us.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">One bulk water customer, the WSC, accounted for approximately 32% of our consolidated revenue for 2022. If, for financial or other reasons, the WSC does not comply with the terms of our water supply agreements our consolidated financial condition, results of operations, and cash flows could be materially adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">18</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Our operations are affected by tourism and are subject to seasonal fluctuations and other factors beyond our control that could affect the demand for our water.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Demand for our water in the Cayman Islands and The Bahamas is affected by variations in the level of tourism and local weather, primarily rainfall. Tourism in our service areas is affected by the economies of the tourists&#8217; home countries, primarily the United States and Europe, terrorist activity and perceived threats thereof, global health concerns such as COVID-19, and increased costs of fuel and airfare. In the Cayman Islands, we normally sell more water during the first and second quarters of the year, when the number of tourists is greater and local rainfall is less than in the third and fourth quarters. A downturn in tourism or greater than expected rainfall in the locations we serve could adversely impact our results of operations and cash flows. The COVID-19 pandemic and the resulting cessation of tourism to the Cayman Islands through August 2022 significantly reduced demand for our water. We are unable at this time to determine if or when demand for our water in the Cayman Islands will return to pre-pandemic levels.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Performance shortfalls under any of our bulk supply contracts could result in penalties or cancellation of the contract.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our bulk water supply agreements require us to meet specified minimum quality, quantity and energy consumption guarantees. Membrane fouling or other technical problems could occur at any of our plants, and if we are unable to meet the guarantees due to such technical problems, we could be in default of the supply agreement and subject to various adverse consequences, including financial penalties or cancellation of the agreement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Our operations could be harmed by natural disasters such as hurricanes or earthquakes.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">A natural disaster could cause major damage to our equipment and properties and the properties of our customers, including the large tourist properties in our areas of operation. For example, in January 2020, Grand Cayman experienced an earthquake which damaged three of our eight storage tanks. Any future disaster could cause us to lose use of our equipment and properties and incur additional repair costs. Damage to our customers&#8217; properties and the adverse impact on tourism could result in a decrease in water demand. A natural disaster could also disrupt the delivery of equipment and supplies, including electricity, necessary to our operations. These and other possible effects of natural disasters could have a material adverse impact on our consolidated financial condition, results of operations, and cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Contamination of our water may cause disruption in our services and adversely affect our revenue</b>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our feed water and/or processed water may become contaminated by natural occurrences and by inadvertent or intentional human interference, including acts of terrorism. If our feed water and/or processed water becomes contaminated, we may have to interrupt our supply of desalinated potable water until we are able to install treatment equipment or substitute the flow of water from an uncontaminated water source. In addition, we may incur significant costs in order to treat contaminated feed or processed water through expansion of our current treatment facilities, or development of new treatment methods. An inability by us to substitute feed water from an uncontaminated water source or to adequately treat the contaminated plant feed water or our processed water in a cost-effective manner may have a material adverse impact on our consolidated financial condition, results of operations, and cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Potential government decisions, actions and regulations could negatively affect our operations.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We are subject to the local regulations of the Cayman Islands, The Bahamas and the British Virgin Islands, all of which are subject to change. Any government that regulates our operations may issue legislation or adopt new regulations, including but not limited to:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><div style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-left:0pt;margin-top:0pt;padding-left:18pt;text-indent:-18pt;"><span style="display:inline-block;min-width:10.1pt;text-indent:0pt;white-space:nowrap;">&#9679;</span>restricting foreign ownership (by us);</div><div style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-left:0pt;margin-top:0pt;padding-left:18pt;text-indent:-18pt;"><span style="display:inline-block;min-width:10.1pt;text-indent:0pt;white-space:nowrap;">&#9679;</span>providing for the expropriation of our assets by the government;</div><div style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-left:0pt;margin-top:0pt;padding-left:18pt;text-indent:-18pt;"><span style="display:inline-block;min-width:10.1pt;text-indent:0pt;white-space:nowrap;">&#9679;</span>providing for nationalization of public utilities by the government;</div><div style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-left:0pt;margin-top:0pt;padding-left:18pt;text-indent:-18pt;"><span style="display:inline-block;min-width:10.1pt;text-indent:0pt;white-space:nowrap;">&#9679;</span>providing for different water quality standards;</div><div style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-left:0pt;margin-top:0pt;padding-left:18pt;text-indent:-18pt;"><span style="display:inline-block;min-width:10.1pt;text-indent:0pt;white-space:nowrap;">&#9679;</span>unilaterally changing or renegotiating our license and agreements;</div><div style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-left:0pt;margin-top:0pt;padding-left:18pt;text-indent:-18pt;"><span style="display:inline-block;min-width:10.1pt;text-indent:0pt;white-space:nowrap;">&#9679;</span>restricting the transfer of U.S. currency; or</div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">19</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><div style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-left:0pt;margin-top:0pt;padding-left:18pt;text-indent:-18pt;"><span style="display:inline-block;min-width:10.1pt;text-indent:0pt;white-space:nowrap;">&#9679;</span>causing currency exchange fluctuations/devaluations or enacting changes in tax laws.</div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">As new laws and regulations are issued, we may be required to modify our operations and business strategy, which we may be unable to do in a cost-effective manner. Failure by us to comply with applicable regulations could result in the loss of our authorizations to operate, the assessment of penalties or fines, or otherwise may have a material adverse impact on our consolidated financial condition, results of operations and cash flows.</p><a id="_Hlk66888679"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:12pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Unforeseen environmental costs could adversely affect our business and results of operations.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:12pt 0pt 12pt 0pt;">We are subject to various federal, state, local and foreign laws and regulations concerning environmental protection, including laws addressing water quality and contamination, the discharge of pollutants into the air and water, the management and disposal of hazardous substances and wastes, and the cleanup of contaminated sites. In particular, we face increasing complexity in our operations as we adjust to new and future requirements relating to water quality, the composition of our other products, their safe use, the energy consumption associated with our operations, and climate change laws and regulations. If we were to violate or become liable under environmental laws or if our products become non-compliant with environmental laws, we could incur substantial costs or face other sanctions, which may include restrictions on operating in certain jurisdictions. Our potential exposure includes fines and civil or criminal sanctions, third-party property damage, personal injury claims and clean-up costs. Further, liability under some environmental laws relating to contaminated sites can be imposed retroactively on a joint and several basis, and without any finding of noncompliance or fault. The amount and timing of costs to comply with environmental laws are difficult to predict. In addition, any complaints or lawsuits against us based on water quality and contamination may receive negative publicity that can damage our reputation and adversely affect our business and trading price of our common stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">If we fail to abide by laws, rules and regulations relating to human and workers&#8217; rights, we could be subject to suit and our reputation could be harmed, which could result in losses in our business and financial results.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We are subject to various federal, state, local and foreign laws and regulations concerning human rights, including laws prohibiting discrimination, harassment, and forced or child labor, and establishing wage and hour standards. If we were to violate or become liable under human or workers&#8217; laws, we could incur substantial costs or face other sanctions. Our potential exposure includes fines and civil or criminal sanctions or liability. The amount and timing of costs to comply with human and workers&#8217; rights laws are difficult to predict. Additionally, the success of our business depends on earning and maintaining the trust and confidence of our customers, suppliers, stockholders and the communities in which we operate, our ability to compete for future opportunities, and our reputation among existing and potential clients and partners. Our reputation is critical to our business and could be impacted by events that may be difficult or impossible to control, and costly or impossible to remediate. For example, alleged or actual failures by us or our employees to comply with applicable human or workers&#8217; rights laws, rules or regulations, expectations and perceptions of our employment and environmental, social and governance practices, threatened or actual litigation against us or our employees, or the public announcement and potential publicity surrounding any of these issues, even if inaccurate, satisfactorily addressed, or if no violation or wrongdoing actually occurred, could adversely impact our reputation and relationships with customers, suppliers, stockholders and the communities in which we operate, and our ability to renew or negotiate new agreements for projects. Any such failure or reputational harm could have an adverse effect on our consolidated financial condition, results of operations and cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">We rely on the efforts of key employees. Our failure to retain these employees could adversely affect our results of operations.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our success depends upon the abilities of our Executive Officers. In particular, the loss of the services of Frederick W. McTaggart, our President and Chief Executive Officer, could be detrimental to our operations and our continued success. Mr.&#160;McTaggart has an employment agreement expiring on December&#160;31, 2025. Each year, the term of this agreement may be extended for an additional year. However, we cannot guarantee that Mr.&#160;McTaggart will continue to work for us during the term of his agreement or will extend his employment agreement with us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">20</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Our business could be adversely affected by cyber threats or other interruptions in information technology, communications networks and operations.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">As part of our operations, we rely on computer systems to process transactions and communicate with our customers, suppliers and other third parties. We rely on continued and unimpeded access to secure network connections to communicate between locations and on reliable internet connections to communicate with external parties. We have physical, technical and procedural safeguards in place that are designed to protect information and protect against security and data breaches as well as fraudulent transactions and other activities. Despite these safeguards and our other security processes and protections, we cannot be assured that all our systems and processes are free from vulnerability to evolving and increasingly sophisticated cyber-attacks, to other physical breaches or to inadvertent data disclosure by third parties or by us. A significant data security breach, including misappropriation of customer, supplier or confidential employee information, could cause us to incur significant costs, which may include potential costs of investigations, legal, forensic and consulting fees and expenses, costs and diversion of management attention required for investigation, remediation and litigation, substantial repair or replacement costs. We could also experience data losses that would impair our ability to manage our business operations, including accounting and project costs, manage our water and distribution systems or process transactions and have a negative impact on our reputation and loss of confidence of our customers, suppliers and others, any of which could have a material adverse impact on our consolidated financial condition, results of operations, and cash flows and our business in general.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">We are exposed to credit risk through our relationships with several customers.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We are subject to credit risk posed by possible defaults in payment by our bulk water customers in the Cayman Islands, The Bahamas and the British Virgin Islands. We are also subject to credit risk posed by possible defaults in payment by our customers in the United States. Adverse economic conditions affecting, or financial difficulties of, those parties could impair their ability to pay us or cause them to delay payment. We depend on these parties to pay us on a timely basis. Our outstanding accounts receivable are not covered by collateral or credit insurance. Any delay or default in payment could adversely affect our consolidated financial condition, results of operations, and cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">We are exposed to the risk of variations in currency exchange rates.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Although we report our results in United States dollars, most of our revenue is earned in other currencies. These currencies have been fixed to the United States dollar for more than 20 years. Consequently, we do not employ hedging strategies against the foreign currency exchange rate risk associated with conducting business in foreign currencies while reporting in United States dollars. If any of the existing fixed exchange rates for these other currencies becomes a floating exchange rate and any of these currencies depreciate against the U.S. dollar, our consolidated financial condition, results of operations, and cash flows could be materially adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">We may not pay dividends in the future. If dividends are paid, they may be in lesser amounts than past dividends</b>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our shareholders may receive dividends out of legally available funds if, and when, they are declared by our Board of Directors. We have paid dividends in the past but may cease to do so at any time. We may incur increased operating or development expenses or capital requirements or indebtedness in the future that may restrict our ability to pay dividends. We may also be restricted from paying dividends in the future due to restrictions imposed by applicable corporate laws, our consolidated financial condition, results of operations and cash flows, covenants contained in financing agreements, and other factors considered by our Board of Directors. We may not continue to pay dividends in the future or, if dividends are paid, they may not be in amounts comparable to past dividends.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Service of process and enforcement of legal proceedings commenced against us in the United States may be difficult to obtain.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We are incorporated under the laws of the Cayman Islands and most of our assets are located outside of the United States. In addition, six of our 14 Directors and Officers reside outside the United States. As a result, it may be difficult for investors to execute service of process within the United States upon us and such other persons, or to enforce judgments obtained against such persons in United States courts, and bring any action, including actions predicated upon the civil liability </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">21</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">provisions of the United States securities laws. In addition, it may be difficult for investors to enforce, in original actions brought in courts or jurisdictions located outside of the United States, rights predicated upon the United States securities laws.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Based on the advice of our Cayman Islands legal counsel, we believe no reciprocal statutory enforcement of foreign judgments exists between the United States and the Cayman Islands, and that foreign judgments originating from the United States are not directly enforceable in the Cayman Islands. A prevailing party in a United States proceeding against us or our Directors and Officers would have to initiate a new proceeding in the Cayman Islands using the United States judgment as evidence of the party&#8217;s claim. A prevailing party could rely on the summary judgment procedures available in the Cayman Islands, subject to available defenses in the Cayman Islands courts, including, but not limited to, the lack of competent jurisdiction in the United States courts, lack of due service of process in the United States proceeding and the possibility that enforcement or recognition of the United States judgment would be contrary to the public policy of the Cayman Islands.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Depending on the nature of damages awarded, civil liabilities under the Securities Act of 1933, as amended (or the Securities Act), or the Securities Exchange Act of 1934, as amended (or the Exchange Act), for original actions instituted outside the Cayman Islands may or may not be enforceable. For example, a United States judgment awarding remedies unobtainable in any legal action in the courts of the Cayman Islands, such as treble damages, would likely not be enforceable under any circumstances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">The relatively low trading volume of our stock may adversely impact the ability to sell our shares.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The average daily trading volume of our common stock in 2022 was approximately 102,300 shares, a much lower trading volume than that of many other companies listed on the NASDAQ Global Select Market. A public trading market having the desired characteristics of depth, liquidity and orderliness depends on the presence in the market of willing buyers and sellers of our common stock at any given time. This presence in turn depends on the individual decisions of investors and general economic and market conditions over which we have no control. Due to the limited volume of trading in our common stock, an investor in our stock may have difficulty selling larger volumes of our common stock in the manner, or at the price, that might be attainable if our common stock were more actively traded.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><a id="_ded13d88_e2d3_46fe_abc1_18b3eb350e21"></a><a id="ITEM1BUNRESOLVEDSTAFFCOMMENTS_18744"></a><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:54pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">ITEM 1B.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">UNRESOLVED STAFF COMMENTS</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">None.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><a id="_3cab9f38_d665_43cf_92e1_708c6e410c00"></a><a id="ITEM2PROPERTIES_34383"></a><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:54pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">ITEM 2.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">PROPERTIES</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Cayman Islands Properties</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Abel Castillo Water Works</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We own and operate our Abel Castillo Water Works, which is located in the Seven Mile Beach area and encompasses 12,812 square feet of buildings, two seawater reverse osmosis desalination plants with an aggregate capacity of 3.0 million gallons per day, a high service distribution pump house, warehouse space and three potable water storage tanks each with a capacity of 1.0 million gallons and one potable water storage tank with a capacity of 2.0 million gallons with an aggregate storage capacity of 5.0 million gallons. The site is located on 4.2 acres, including 485 feet of waterfront.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">West Bay Plant</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We own and operate our West Bay plant located on 6.1 acres in West Bay. The plant began operating in 1995, was expanded over the years, and now has a production capacity of approximately 885,000 gallons per day. On this site, we have a 2,600 square foot building which houses our water production facilities, a 2,400 square foot building which houses the potable water distribution pumps, a water quality testing laboratory, and office space and water storage capacity consisting of three potable water tanks each with a capacity of 1.0 million gallons with an aggregate storage capacity of 3.0 million gallons. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">22</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Britannia Plant</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We own our Britannia seawater reverse osmosis desalination plant which is located in the Seven Mile Beach area and consists of a seawater reverse osmosis production plant with a capacity of 715,000 gallons of water per day, a potable water storage tank with a capacity of 840,000 gallons, potable water high service pumps, and various ancillary equipment. We have leased the site (comprised of 0.73 acres) and steel frame building which houses the plant for a term that ends in 2027 at an annual rent of $1.00.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Distribution System</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We own our Seven Mile Beach and West Bay potable water distribution systems in Grand Cayman which consist of potable water pipes, valves, curb stops, meter boxes, and water meters. We have the legal right to maintain (and expand or contract as necessary) these systems on public and private land within our licensed service area.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Corporate Office</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We occupy approximately 5,700 square feet of office space at the Regatta Office Park, West Bay Road, Grand Cayman, Cayman Islands under a lease that expires in April&#160;2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Other Property</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In October 2022, Cayman Water purchased for $2.94 million approximately 2.8 acres of land in the West Bay area of Grand Cayman.&#160;Cayman Water expects to use this site for the construction of new corporate headquarters, emergency operations center and warehouse facility at some point in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Bahamas Properties</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Windsor Plant</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our Windsor water production facility, located in Nassau, New Providence, has a production capacity of 2.8 million gallons per day. The plant is powered by a combination of diesel engine-driven high-pressure pumps and electrical power purchased from Bahamas Power and Light to power all other loads in the plant. The plant is contained within a 12,000 sq. ft. steel building, and a warehouse, workshop and offices contained within a 2,600 sq. ft. concrete building. The buildings are located on land owned by the WSC and our water sales agreement gives us a license to use the land throughout the term of that agreement, which expires in 2033. We also own and maintain a 5.0 million gallon welded steel water storage tank that was constructed by us and is operated by the WSC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Blue Hills Plant</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our Blue Hills plant in Nassau, New Providence consists of two production facilities. The first facility was completed in July&#160;2006, has a production capacity of 7.2 million gallons per day, and is powered by a combination of diesel engine-driven high-pressure pumps and electrical power purchased from the Bahamas Power and Light to power all other loads in the plant. The plant is contained within a concrete and steel building with a footprint of 16,000 square feet that also contains a warehouse, workshop and offices. It is located on land owned by the WSC and our 20-year water sales agreement gives us a license to use the land throughout the term of that agreement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Blue Hills plant water supply agreement was amended in January&#160;2011 and extended through 2032. Pursuant to this amendment, we added a second production facility to increase the total production capacity of the Blue Hills plant to 12.0 million gallons per day. The second facility was completed in March&#160;of 2012 and is powered by a combination of diesel engine-driven high-pressure pumps and electrical power purchased from the Bahamas Power and Light to power all other loads in the plant. The second facility is contained within a steel building with a footprint of 10,640 square feet located adjacent to the initial production facility on land owned by the WSC. We also own and maintain a 1.0 million gallon welded steel elevated water storage tank that was constructed by us and is operated by the WSC.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">23</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">U.S. Properties</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Aerex owns its 30,000 square foot manufacturing facility located on 6.4 acres of land in Fort Pierce, Florida and has approximately 6,000 square feet of office space in downtown Fort Pierce under a lease that expires on June 30, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our Aquilex warehouse consists of 4,100 square feet located in Sunrise, Florida that has been leased through September&#160;2025. Our Aquilex office consists of 6,500 square feet located in Coral Springs, Florida that has been leased through March 2026.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">PERC leases approximately 4,100 square feet of office space in Fountain Valley, California that serves as its corporate headquarters. This lease expired in August&#160;2021 and is currently on a month-to-month basis.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Mexico Properties</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">NSC and AdR own 20.1 hectares and 0.18 hectares of land, respectively, in Rosarito Beach, Baja California, Mexico.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><a id="_c28f368a_a49c_45ae_aef9_f9c8749827e0"></a><a id="_Hlk98462994"></a><a id="ITEM3LEGALPROCEEDINGS_473093"></a><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:54pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">ITEM 3.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">LEGAL PROCEEDINGS</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">None. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><a id="_43b74dda_ffc9_4b0b_b2b1_f618646b152b"></a><a id="ITEM4MINESAFETYDISCLOSURE_339474"></a><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:54pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">ITEM 4.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">MINE SAFETY DISCLOSURE</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><a id="_0cda9552_b65a_40f7_b89e_5d2a0fcb7870"></a><a id="PARTII_440321"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">PART&#160;II</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="ITEM5MARKETFORREGISTRANTSCOMMONEQUITYREL"></a><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:54pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">ITEM 5.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">MARKET FOR REGISTRANT&#8217;S COMMON EQUITY, RELATED STOCKHOLDER MATTERS </b><b style="font-weight:bold;">AND ISSUER PURCHASES OF EQUITY SECURITIES</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Market Information</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our Class&#160;A common stock is listed on the NASDAQ Global Select Market and trades under the symbol &#8220;CWCO&#8221;.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">No trading market exists for our redeemable preferred stock, which is only issued to, or purchased by, long-term employees of our company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On January&#160;3, 2022, March&#160;30, 2022 and January&#160;3, 2023, we issued a total of 23,411 shares, 18,419 shares and 25,986 shares of our common stock, respectively, to Executive Officers under the 2008 Equity Incentive Plan. On December 9, 2022, we issued a total of 30,767 shares of our common stock to our Directors under the Non-Executive Directors&#8217; Share Plan in consideration for their service on our Board of Directors and the committees thereof. See &#8220;ITEM 11. EXECUTIVE COMPENSATION&#8221;.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Currently 2,023,850 Bahamian Depository Receipts (&#8220;BDRs&#8221;) that constitute ownership of 404,770 shares of our common stock are listed and traded on the Bahamian International Stock Exchange. Our common shares that underlie these BDRs are held in a custodial account in The Bahamas. The BDRs are entitled to dividend payments, when declared, on our common stock in proportion to the BDRs&#8217; relative value to our common stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Holders</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">As of March&#160;24, 2023, we had 718 holders of record of our common stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">24</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Dividends</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our Board of Directors declares and approves any and all dividends.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We have paid dividends to owners of our common stock and redeemable preferred stock since we began declaring dividends in 1985. However, the payment of any future cash dividends will depend upon our earnings, financial condition, cash flows, capital requirements and other factors our Board of Directors deems relevant in determining the amount and timing of such dividends.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Listed below, for each quarter of the last two fiscal years, are the per share dividends declared on our issued and outstanding shares of common shares and redeemable preferred stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:75.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">First Quarter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.085</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.085</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Second Quarter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.085</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.085</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Third Quarter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.085</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.085</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Fourth Quarter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.085</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.085</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.34</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.34</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Exchange Controls and Other Limitations Affecting Security Holders</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our Company is not subject to any governmental laws, decrees or regulations in the Cayman Islands which restrict the export or import of capital, or that affect the remittance of dividends, interest or other payments to non-resident holders of our securities. The Cayman Islands does not impose any limitations on the right of non-resident owners to hold or vote our common stock. There are no exchange control restrictions in the Cayman Islands.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The information required by Item 201(d)&#160;of Regulation S-K is provided under ITEM 12. SECURITY OWNERSHIP OF CERTAIN BENEFICIAL OWNERS AND MANAGEMENT AND RELATED STOCKHOLDER MATTERS of this Annual Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_e2854ab9_e427_4a99_9604_4e9a948a4321"></a><a id="ITEM6SELECTEDFINANCIALDATA_458213"></a><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:54pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">ITEM 6.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">SELECTED FINANCIAL DATA</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_6a6237f0_24b3_451f_b8e6_4a0d58ed4957"></a><a id="ITEM7MANAGEMENTSDISCUSSIONANDANALYSISOFF"></a><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:54pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">ITEM 7.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND</b><b style="font-weight:bold;"> RESULTS OF OPERATIONS</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Overview</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our water production operations and activities, and those of our affiliate OC-BVI, are conducted at 11 plants in three countries: the Cayman Islands, The Bahamas, and the British Virgin Islands. The following table sets forth the comparative combined production capacity of our retail and bulk segments and our affiliate as of December&#160;31 of each year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:21.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:21.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td colspan="11" style="vertical-align:bottom;width:100%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Comparative Operations</b></p></td></tr><tr><td colspan="5" style="vertical-align:bottom;width:48.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:48.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:21.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Plants</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Capacity&#160;</b><sup style="font-size:7.5pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Plants</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Capacity&#160;</b><sup style="font-size:7.5pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td></tr><tr><td style="vertical-align:bottom;width:21.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cayman Islands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cayman Islands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9.9</span></p></td></tr><tr><td style="vertical-align:bottom;width:21.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Bahamas</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14.8</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Bahamas</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14.8</span></p></td></tr><tr><td style="vertical-align:bottom;width:21.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">British Virgin Islands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.8</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">British Virgin Islands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.8</span></p></td></tr><tr><td style="vertical-align:bottom;width:21.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 25.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 25.5</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">(1)&#160;In millions of gallons per day.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">25</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our water treatment and reuse facilities are conducted at 27 plants in the United States. The following table sets forth the comparative combined estimated production capacity of our services segment as of December 31 of each year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:21.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:21.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td colspan="11" style="vertical-align:bottom;width:100%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Comparative Operations</b></p></td></tr><tr><td colspan="5" style="vertical-align:bottom;width:48.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:48.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:21.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Plants</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Capacity&#160;</b><sup style="font-size:7.5pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Plants</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Capacity&#160;</b><sup style="font-size:7.5pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td></tr><tr><td style="vertical-align:bottom;width:21.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 27</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 52.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 52.6</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">(1)&#160;In estimated millions of gallons per day.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Cayman Islands</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We have been operating our business on Grand Cayman since 1973 and have been using reverse osmosis technology to convert seawater to potable water since 1989. The Cayman Islands have a limited natural supply of fresh water. We have an exclusive license from the Cayman Islands government to process potable water from seawater and then sell and distribute that water by pipeline to the Seven Mile Beach and West Bay areas of Grand Cayman. This license expired in January&#160;2018 but as discussed in the following paragraph we continue to provide water under the terms of this license. Our Grand Cayman operations consist of four company-owned seawater reverse osmosis desalination plants which provide water to approximately 7,950 retail residential and commercial connections within a government licensed area and three government-owned seawater reverse osmosis plants which supply bulk water to the WAC. Our pipeline system on Grand Cayman Island covers the Seven Mile Beach and West Bay areas of Grand Cayman and consists of approximately 100 miles of potable water pipe.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our exclusive license from the Cayman Islands government was originally scheduled to expire in July&#160;2010 but was extended several times by the Cayman Islands government in order to provide the parties with additional time to negotiate the terms of a new license agreement. The most recent express extension of the license expired on January&#160;31, 2018. We continue to operate under the terms of the 1990 license, providing water services to the level and quality specified in the 1990 license and in accordance with our understanding of its legal obligations, treating those obligations set forth in the 1990 license as operative notwithstanding the expiration of the express extension. We continue to pay the royalty required under the 1990 license. We have been informed during our retail license negotiations that the Cayman Islands government seeks to restructure the terms of our license in a manner that could significantly reduce the operating income and cash flows we have historically generated from our retail license. Our retail license negotiations have also been impacted by the passage of new legislation and the establishment of a new water regulatory body in the Cayman Islands. See further discussion of this matter at ITEM 7. MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS - Material Commitments, Expenditures and Contingencies - <i style="font-style:italic;">Cayman Water Retail License</i>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">The Bahamas</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">CW-Bahamas produces potable water from two seawater reverse osmosis desalination plants. The Windsor plant and the Blue Hills plant are located in Nassau, New Providence and have a total installed capacity of 14.8 million gallons per day. CW-Bahamas supplies water from these plants to the Water and Sewerage Corporation of The Bahamas (&#8220;WSC&#8221;) under long-term supply agreements. During 2022, we supplied approximately 4.6 billion gallons of water to the WSC from these plants, as compared to 4.4 billion gallons during 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">From time to time (including presently), CW-Bahamas has experienced delays in collecting its accounts receivable. Representatives of the Bahamas government have informed us that their delays in paying our accounts receivables did/do not reflect any type of dispute with us with respect to the amounts owed. To date, we have not been required to provide an allowance for any delinquent CW-Bahamas accounts receivable as such amounts were eventually paid in full. Based upon our experience, we believe that the present accounts receivable from the WSC are fully collectible and therefore have not provided any allowance for possible non-payment of these receivables. Such accounts receivable balances due from The Bahamas government amounted to $16.3 million as of December&#160;31, 2022. See further discussion of this matter at ITEM 7. MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS - LIQUIDITY AND CAPITAL RESOURCES - <i style="font-style:italic;">CW-Bahamas Liquidity</i>.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">26</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Critical Accounting Policies and Estimates</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our critical accounting policies relate to (i) the valuations of our goodwill, intangible assets and long-lived assets; and (ii)&#160;revenue recognition on our construction and manufacturing contracts.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenue and expenses during the reporting period. Our actual results could differ significantly from such estimates and assumptions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">The application of our critical accounting policies involve estimates or assumptions that constitute &#8220;critical accounting estimates&#8221; for us because:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the nature of these estimates or assumptions is material due to the levels of subjectivity and judgment necessary to account for highly uncertain matters or the susceptibility of such matters to change; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the impact of the estimates and assumptions on financial condition and results of operations is material.</span></td></tr></table><div style="margin-top:10pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Goodwill and Intangible Assets</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_Hlk126077790"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">Goodwill represents the excess cost of an acquired business over the fair value of the assets and liabilities of the acquired business. Goodwill and intangible assets acquired in a business combination and determined to have an indefinite useful life are not amortized but are tested for impairment annually or upon the identification of a triggering event. Intangible assets with estimable useful lives are amortized over their respective estimated useful lives to their estimated residual values and reviewed periodically for impairment. We evaluate the possible impairment of goodwill annually as part of our reporting process for the fourth quarter of each fiscal year. Management identifies our reporting units for goodwill impairment testing purposes, which consist of Cayman Water, the bulk segment (which is comprised of CW-Bahamas and OC-Cayman), PERC, and the manufacturing segment (i.e., Aerex), and determines the carrying value of each reporting unit by assigning the assets and liabilities, including the existing goodwill and intangible assets, to those reporting units. We determine the fair value of each reporting unit and compare these fair values to the carrying amounts of the reporting units. To the extent the carrying amount of the reporting unit exceeds the fair value of the reporting unit, an impairment loss is recorded.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">For 2021, we estimated the fair value of our reporting units by applying the discounted cash flow method, which relied upon seven-year discrete projections of operating results, working capital and capital expenditures, along with a terminal value subsequent to the discrete period. These seven-year projections were based upon historical and anticipated future results, general economic and market conditions, and considered the impact of planned business and operational strategies. The discount rates for the calculations represented the estimated cost of capital for market participants at the time of each analysis.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We also estimated the fair value of each of our reporting units for 2021 by applying the guideline public company method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We weighted the fair values estimated for each of our reporting units under each method and summed such weighted fair values to estimate the overall fair value for each reporting unit. The respective weightings we applied to each method for 2021 were 80% to the discounted cash flow method and 20% to the guideline public company method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The fair values we estimated for our Cayman Water, bulk segment, PERC and manufacturing reporting units exceeded their carrying amounts by 32%, 51%, 15% and 15%, respectively, as of December&#160;31, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">For 2022, we elected to assess qualitative factors to determine whether it was necessary to perform the quantitative goodwill impairment testing we have conducted in prior years for all goodwill reporting units other than the manufacturing unit. We assessed the relevant events and circumstances to evaluate whether it is more likely than not that the fair values of such reporting units are less than their carrying values. The events and circumstances assessed for each unit included </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">27</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">macroeconomic conditions, industry and market conditions, cost factors, overall financial performance, and other relevant events. Based upon this qualitative assessment we determined that it is more likely than not that the fair values of our Cayman Water and bulk segment reporting units exceeded their carrying values as of December 31, 2022. Based upon our negotiated, arms-length purchase of the remaining 39% equity interest in PERC from its minority shareholders for $7.8 million in January 2023, the fair value of our PERC reporting unit exceeded its carrying value by 79% as of December 31, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Due to the factors discussed in the following paragraphs, we elected to test the goodwill associated with our manufacturing reporting unit for possible impairment using the quantitative tests applied in prior years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In connection with our acquisition of Aerex in 2016, we recorded goodwill of $8,035,211. Aerex&#8217;s actual results of operations for 2016 fell significantly short of the projected results that were included in the cash flow projections we utilized to determine the purchase price for Aerex and the fair values of its assets and liabilities. Due to this shortfall in Aerex&#8217;s results of operations, we tested our manufacturing segment&#8217;s goodwill for possible impairment and recorded an impairment loss of ($1,750,000) in 2016. As part of our annual impairment testing of goodwill performed during the fourth quarter, in 2017 we updated our projections for Aerex&#8217;s future cash flows, determined that the carrying value of our manufacturing reporting unit exceeded its fair value, and recorded an impairment loss of ($1,400,000) for December&#160;31, 2017 to further reduce the carrying value of our manufacturing segment goodwill to $4,885,211.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#8203;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">Approximately 80% of Aerex&#8217;s revenue, and 89% of Aerex&#8217;s gross profit, for the year ended December 31,&#160;2020 were generated from sales to one customer. While Aerex sells various products to this customer, Aerex&#8217;s revenue from this customer has historically been derived primarily from one specialized product. In October 2020, this customer informed Aerex that, for inventory management purposes, it was suspending its purchases of the specialized product from Aerex following 2020 for a period of approximately one year. This customer informed Aerex at that time that it expected to recommence its purchases of the specialized product from Aerex beginning with the first quarter of 2022. As a result of this anticipated loss of revenue for Aerex, we updated our projections for our manufacturing reporting unit&#8217;s future cash flows. Such projections assumed, in part, that Aerex&#8217;s major customer would recommence its purchases from Aerex in 2022 but at a reduced aggregate amount, as compared to 2020. Based upon these updated projections, we tested our manufacturing reporting unit&#8217;s goodwill for possible impairment as of December 31, 2020 using the discounted cash flow and guideline public company methods, with a weighting of 80% and 20% applied to these two methods, respectively. As a result of these impairment tests, we determined that the estimated fair value of our manufacturing reporting unit exceeded its carrying value by approximately 31% as of December 31, 2020.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">In late July 2021, this former major customer communicated to Aerex that it expected to recommence its purchases of the specialized product from Aerex in 2022 and subsequent years, but informed Aerex that such purchases would be at substantially reduced annual amounts, as compared to the amounts it had purchased from Aerex in 2020 and prior years. Our updated sales estimate for this customer based on this new information was substantially below the sales we anticipated to this customer for 2022 and subsequent years that we used in the discounted cash flow projections we prepared for purposes of testing our manufacturing reporting unit&#8217;s goodwill for possible impairment as of December 31, 2020. Furthermore, Aerex&#8217;s efforts to replace the revenue previously generated from this customer with revenue from existing and new customers were adversely impacted by the negative economic conditions (caused in part by the COVID-19 pandemic). These negative economic conditions also increased Aerex&#8217;s raw material costs, resulted in raw material shortages and extended delivery times for such materials, and adversely affected the overall financial condition of Aerex&#8217;s current and prospective customers. Accordingly, in light of this new information from Aerex&#8217;s former major customer, and the on-going weak economic conditions that we believed would continue through 2022, we updated our projections of future cash flows for the manufacturing reporting unit and tested its goodwill for possible impairment as of June 30, 2021 using the discounted cash flow and guideline public company methods, with a weighting of 80% and 20% applied to these two methods, respectively. Based upon this testing, we determined that the carrying value of our manufacturing reporting unit exceeded its fair value by $2.9 million, and we recorded an impairment loss to reduce our manufacturing segment&#8217;s goodwill by this amount for the three months ended June 30, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">For 2022, we estimated the fair value of our manufacturing reporting unit by applying the discounted cash flow method, which relied upon seven-year discrete projections of operating results, working capital and capital expenditures, along with a terminal value subsequent to the discrete period. These seven-year projections were based upon historical and anticipated future results, general economic and market conditions, and considered the impact of planned business and </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">28</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">operational strategies. The discount rates for the calculations represented the estimated cost of capital for market participants at the time of each analysis. We also estimated the fair value of our manufacturing reporting unit for the year ended December 31, 2022 by applying the guideline public company method. We weighted the fair values estimated for our manufacturing reporting unit under each method and summed such weighted fair values to estimate the overall fair value for the reporting unit. The respective weightings we applied to each method for the year ended December&#160;31, 2022 were 80% to the discounted cash flow method and 20% to the guideline public company method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The fair value we estimated for our manufacturing reporting unit exceeded its carrying amount by 63% as of December&#160;31, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">We believe the inherent uncertainties associated with the accounting estimates and assumptions we use for our estimates of our manufacturing reporting unit&#8217;s fair value have increased due to the current, less predictable economic conditions, which have resulted in increasing raw material prices, extended and unexpected delays in the procurement and delivery of our raw materials, and have also, we believe, adversely affected our customers. Should interest rates rise significantly in the future we would likely be required to increase the discount rate we use under the discounted cash flow method we use to estimate the fair value of this reporting unit, and such increased discount rate in and of itself could decrease the estimated fair value of our manufacturing reporting unit under the discounted cash flow method.</p><a id="_Hlk126078050"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">As noted previously, based upon our estimation prepared as of December 31, 2022, the fair value of our manufacturing reporting unit exceeded its carrying value by 63%. However, if we determine in the future that Aerex&#8217;s discounted future cash inflows will be less than our present expectations, we may be required to record additional impairment losses to reduce the remaining carrying values of our manufacturing segment&#8217;s goodwill and its remaining unamortized intangible assets balances, which amounted to $1,985,211 and $754,444, respectively, as of December 31, 2022. Any such impairment losses could have a material adverse impact on our consolidated results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Long-lived Assets</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">We review the carrying amounts of our long-lived assets for impairment whenever events or changes in circumstances indicate that the carrying amount of the assets might not be recoverable. Conditions that would necessitate an impairment assessment include a significant decline in the observable market value of an asset, a significant change in the extent or manner in which an asset is used, or a significant adverse change that would indicate that the carrying amount of an asset or group of assets is not recoverable. For long-lived assets to be held and used, we recognize an impairment loss only if its carrying amount is not recoverable through its undiscounted cash flows and measure the impairment loss based on the difference between the carrying amount and fair value.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">On June 29, 2020, our Mexico subsidiary, AdR, received a letter from the State of Baja California (the &#8220;State&#8221;) terminating AdR&#8217;s contract with the State involving the construction and operation of a desalination plant in Rosarito California and accompanying aqueduct to deliver the water produced by this plant to the Mexican public water system. As a result of the cancellation of this contract, we recorded an impairment loss for rights of way acquired for the contract&#8217;s proposed aqueduct of approximately ($3.0 million) in 2020.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Through our former subsidiary, PT Consolidated Water Bali (&#8220;CW-Bali&#8221;), we built and operated a seawater reverse osmosis plant with a productive capacity of approximately 264,000 gallons per day located in Nusa Dua, one of the primary tourist areas of Bali,&#160;Indonesia. We recorded operating losses for CW-Bali as the sales volumes for its plant were insufficient to cover its operating costs. In 2017 we determined, based upon probability-weighted scenarios for CW-Bali&#8217;s future undiscounted cash flows, that the carrying values of CW-Bali&#8217;s long-lived assets and our investment in CW-Bali were not recoverable. Consequently, we recorded impairment losses of ($1.6 million) in 2017 to reduce the carrying values of these assets to their fair values.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Construction and Manufacturing Contract Revenue Recognition</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We design, construct, and sell desalination infrastructure through DesalCo, which serves customers in the Cayman Islands, The Bahamas, and the British Virgin Islands. We design, construct, and sell wastewater and water reuse infrastructure in the U.S. through PERC. Aerex, is a custom and specialty manufacturer in the U.S. of water treatment-related systems and products applicable to commercial, municipal and industrial water production.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">29</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">We recognize <span style="background:#ffffff;">revenue for our construction and our specialized/custom manufacturing contracts&#160;</span>over time under the input method using costs incurred (which represents work performed) to date relative to total estimated costs at completion to measure progress toward satisfying a contract&#8217;s performance obligations as such measure best reflects the transfer of control of the promised good to the customer. Contract costs include labor, materials and amounts payable to subcontractors. We follow this method since we can make reasonably dependable estimates of the revenue and costs applicable to the various stages of a contract. Under this input method, we record revenue and recognize profit or loss as work on the contract progresses. We estimate total project or manufacturing costs and profit to be earned on each long-term, fixed price contract prior to commencement of work on the contract and update these estimates as work on the contract progresses. The cumulative amount of revenue recorded on a contract at a specified point in time is that&#160;percentage of total estimated revenue that incurred costs to date comprises of estimated total contract costs. If, as work progresses, the actual contract costs exceed estimates, the profit recognized on revenue from that contract decreases. We recognize the full amount of any estimated loss on a contract at the time the estimates indicate such a loss.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The cost estimates we prepare in connection with our construction and manufacturing contracts are subject to inherent uncertainties. Because we base our contract prices on our estimation of future construction and manufacturing costs, the profitability of our construction and manufacturing contracts is highly dependent on our ability to estimate these costs accurately, as almost all of our construction and manufacturing contracts are fixed-price contracts. The cost of materials, labor and subcontractors could increase significantly after we sign a construction or manufacturing contract, which could cause the gross profit for a contract to decline from our previous estimates, adversely affecting our recognition of revenue and gross profit for the contract. Construction or manufacturing contract costs that significantly exceed our initial estimates could have a material adverse impact on our consolidated financial condition, results of operations, and cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Results of Operations</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The following discussion and analysis of our results of operations should be read in conjunction with our audited consolidated financial statements and accompanying notes included under Part&#160;II,&#160;ITEM 8. FINANCIAL STATEMENTS AND SUPPLEMENTARY DATA, of this Annual Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Year Ended December&#160;31, 2022 Compared to Year Ended December&#160;31, 2021</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Discontinued Operations &#8211; Mexico Project Development</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">In 2010, we began the pursuit, through our Netherlands subsidiary, Consolidated Water Cooperatief, U.A. (&#8220;CW-Cooperatief&#8221;), and our Mexico subsidiary, N.S.C. Agua, S.A. de C.V. (&#8220;NSC&#8221;), of a project (the &#8220;Project&#8221;) that encompassed the construction, operation and minority ownership of a 100 million gallon per day seawater reverse osmosis desalination plant to be located in northern Baja California, Mexico and accompanying pipelines to deliver water to the Mexican potable water system.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Through a series of transactions that began in 2012, NSC purchased 20.1 hectares of land for approximately $21.1 million on which the proposed Project&#8217;s plant was to be constructed.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#8203;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Following an assessment by the State of Baja, California (the &#8220;State&#8221;) of the need for such a desalination plant and the passage of enabling legislation in November 2015, the State officially commenced the required public tender for the Project. A consortium (the &#8220;Consortium&#8221;) comprised of NSC, Suez Medio Ambiente M&#233;xico, S.A. de C.V. (&#8220;Suez MA&#8221;), a subsidiary of SUEZ International, S.A.S., and NuWater S.A.P.I. de C.V. (&#8220;NuWater&#8221;) submitted its tender for the Project in April 2016 and in June 2016, the State designated the Consortium as the winner of the tender process for the Project.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#8203;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In August 2016, NSC and NuWater incorporated a new company under the name Aguas de Rosarito S.A.P.I. de C.V. (&#8220;AdR&#8221;) to pursue completion of the Project and executed a shareholders agreement for AdR agreeing among other things that (i) AdR would purchase the land and other Project assets from NSC on the date that the Project begins commercial operation and (ii) AdR would enter into a Management and Technical Services Agreement with NSC effective on the first day that the Project begins commercial operation. NSC initially owned 99.6% of the equity of AdR. In February 2018, we acquired the remaining 0.4% ownership in AdR from NuWater.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#8203;</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">30</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On August 22, 2016, the Public Private Partnership Agreement for the Project (the &#8220;APP Contract&#8221;) was executed between AdR, the State Water Commission of Baja California (&#8220;CEA&#8221;), the Government of Baja California as represented by the Secretary of Planning and Finance and the Public Utilities Commission of Tijuana (&#8220;CESPT&#8221;). The APP Contract required AdR to design, construct, finance and operate a seawater reverse osmosis desalination plant (and accompanying aqueduct) with a capacity of up to 100 million gallons per day in two phases: the first with a capacity of 50 million gallons per day and an aqueduct to the Mexican potable water system in Tijuana, Baja California and the second phase with a capacity of 50 million gallons per day. The first phase was to be operational within 36 months of commencing construction and the second phase was to be operational by July 2024. The APP Contract further required AdR to operate and maintain the plant and aqueduct for a period of 37 years starting from the commencement of operation of the first phase. At the end of the operating period, ownership of the plant and aqueduct would have been transferred to CEA. The APP Contract was subsequently amended by the parties in June 2018 to increase the scope of Phase 1 and to allow for changes in the water tariff due to the changes in the exchange rate for the peso, interest rates and construction costs that had and would occur from the date the APP Contract was signed to the date construction commenced.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On June 29, 2020, AdR received a letter (the &#8220;Letter&#8221;) from the Director General of CEA and the Director General of CESPT terminating the APP Contract. The Letter requested that AdR provide an inventory of the assets that currently comprise the &#8220;Project Works&#8221; (as defined in the APP Contract) for the purpose of acknowledging and paying the non-recoverable expenses made by AdR in connection with the Project, with such reimbursement to be calculated in accordance with the terms of the APP Contract. The applicable law required that this list of non-recoverable expenses made by AdR in connection with the Project be submitted to CEA and CESPT within 20 business days from the date of receipt of the Letter. AdR initiated an&#160;amparo&#160;claim before a federal district court in Tijuana, Baja California, to challenge the provision of the applicable law requiring submittal of the list of non-recoverable expenses within the&#160;20&#160;business days term, as AdR considered such term to be unreasonably short due to the magnitude of the Project and the scope of supporting documentation required to be provided with respect to the non-recoverable expenses. AdR obtained an initial provisional suspension of the lapsing of such 20-day term from the court, and on August 10, 2020 the court made such suspension definitive until the completion of the amparo trial. As such, the&#160;20-day&#160;term for filing the list of non-recoverable expenses was suspended. Therefore, on August 28, 2020, AdR submitted their list of non-recoverable expenses, including those of NSC, to CEA and CESPT which was comprised of 51,144,525 United States dollars and an additional 137,333,114 Mexican pesos. In February 2021, AdR withdrew this amparo claim, and such withdrawal was accepted by the federal district court in Tijuana. To date, AdR has not received a formal response from CEA or CESPT to its submission of non-recoverable expenses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#8203;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We believe CW-Cooperatief, as a Netherlands company, has certain rights relating to its investments in NSC and AdR under the <i style="font-style:italic;">Agreement on Promotion, Encouragement and Reciprocal Protection of Investments between the Kingdom of the Netherlands and the United Mexican States </i>entered into force as of October 1, 1999 (the &#8220;Treaty&#8221;). On April 16, 2021, CW-Cooperatief submitted a letter to the President of Mexico and other Mexican federal government officials alleging that the State&#8217;s termination of the APP Contract constituted a breach by Mexico of its international obligations under the Treaty, entitling CW-Cooperatief to full reparation, including monetary damages. This letter invited Mexico to seek a resolution of this investment dispute through consultation and negotiation, but stated that if the dispute cannot be resolved in this manner, CW-Cooperatief elects to refer the dispute to the International Centre for the Settlement of International Disputes for arbitration, as provided for in the Treaty. On June 29, 2021, the Mexican Ministry of Economy responded to CW-Cooperatief&#8217;s letter and proposed to hold a consultation meeting. Two such meetings were held on July 9, 2021 and August 2, 2021 on a confidential basis, without a resolution of our investment dispute.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;background:#ffffff;margin:0pt;">&#8203;On February 9, 2022, CW-Cooperatief, filed a Request for Arbitration with the International Centre for Settlement of International Disputes requesting that the United Mexican States pay CW-Cooperatief damages in excess of US$51 million plus MXN$137 million (with the exact amount to be quantified in the proceedings), plus fees, costs and pre- and post-award interest.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;background:#ffffff;margin:0pt;">&#8203;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;background:#ffffff;margin:0pt 0pt 12pt 0pt;">CW-Cooperatief intends to pursue vigorously the relief sought in the arbitration, in addition to pursuing all other legal remedies and courses of action available under the operative contracts and applicable law with respect to its rights, damages, fees and expenses. We cannot provide any assurances that CW Cooperatief will be able to obtain the relief sought in the arbitration, and we will incur legal and other arbitration-related expenses that we expect will be material to our consolidated results of operations and cash flows.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">31</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">During July 2022, the State initiated discussions with us to potentially resolve the issues related to the cancellation by the government of the Rosarito desalination plant contract as well as potentially addressing the State&#8217;s acute water shortage issues. We cannot presently determine the outcome of the discussions and we have not terminated our efforts to obtain relief through the international arbitration process as a result of these discussions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8203;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We cannot provide any assurances that we will be able to obtain reimbursement for any expenses or investments made with respect to the Project.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#8203;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">As a result of the cancellation of the APP Contract, in 2020 we discontinued all development activities associated with the Project and commenced active marketing efforts to sell the land NSC purchased for the Project. Accordingly, the assets and liabilities of CW-Cooperatief, NSC and AdR, as well as the costs for our legal and administrative activities to pursue reimbursement from the State of Baja California following the cancellation of the APP Contract, are classified as discontinued operations in the accompanying consolidated financial statements. Our net losses from discontinued operations for 2022 and 2021 were ($2,371,049) and ($2,574,079), respectively. Our net losses from discontinued operations for 2022 and 2021 includes provisions of $377,326 and $963,540, respectively, for uncollectible value added taxes paid to, and reimbursable by, the Mexican federal government.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Consolidated Results</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Including discontinued operations, net income attributable to Consolidated Water Co. Ltd. stockholders for 2022 was $5,856,294 ($0.38 per share on a fully diluted basis), as compared to $875,579 ($0.06 per share on a fully diluted basis) for 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The following discussion and analysis of our consolidated results of operations and results of operations by segment for the year ended December&#160;31,&#160;2022 as compared to the year ended December 31, 2021 relates only to our continuing operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders for 2022 was $8,227,343 ($0.54 per share on a fully diluted basis), as compared to $3,449,658 ($0.23 per share on a fully diluted basis) for 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Revenue for 2022 increased to $94,104,972 from $66,863,502 in 2021, as all four segments experienced revenue increases. Gross profit for 2022 was $30,355,123 (32% of total revenue) as compared to $23,507,191 (35% of total revenue) for 2021. For further discussion of revenue and gross profit see the &#8220;Results by Segment&#8221; discussion and analysis that follows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">General and administrative expenses (&#8220;G&amp;A expenses&#8221;) on a consolidated basis increased to $21,070,234 for 2022 as compared to $18,350,359 for 2021. The most significant components of the increase in G&amp;A expenses for 2022 were incremental bonus accruals and stock compensation expense aggregating $1,248,242 arising from the improved financial performance of the Company. Other components of the G&amp;A expenses increase relate to (i) other employee costs, which increased by $399,268 due to salary increases and new hires; (ii) professional and legal fees, which increased by $148,663; (iii) insurance expense, which increased $254,599 due to higher premiums and (iv) incremental business development expenses of $170,461. The rise in G&amp;A for 2022 is also due in part to inflationary factors which have increased many of our G&amp;A expenses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Other income, net, decreased to $464,810 in 2022, as compared to $1,623,595 in 2021 primarily due to a loss of ($128,000) recorded in 2022 for the valuation of the put/call options associated with the acquisition of PERC, as compared to a gain recorded on these options of $818,000 in 2021. In addition, interest income decreased by approximately $238,000 for 2022 as compared to 2021 primarily due to the decrease in CW-Bahamas&#8217; average delinquent accounts receivable balances due from the WSC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">32</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Results by Segment</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Retail Segment:</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The retail segment incurred a loss from operations of ($1,187,013) for 2022 as compared to a loss from operations of ($2,044,094) for 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Revenue generated by our retail water operations increased to $25,954,013 in 2022 from $22,104,953 in 2021 in part due to a 12.5% increase in the volume of water sold. The sales volumes for both 2022 and 2021 were below the historical volumes for the retail segment prior to 2020 due to the cessation of tourism on Grand Cayman resulting from border restrictions that lasted from March 2020 through August 2022 in response to the COVID-19 pandemic. The increase in the volume of water sold in 2022 as compared to 2021 resulted from the lifting in August 2022 of such pandemic related travel restrictions. Retail revenue also increased due to higher energy costs which increased the energy pass-through component of our water rates and a more favorable rate mix, as much of the volume increase for the quarter was due to higher sales volumes to tourist industry related businesses, which in general purchase higher volumes and therefore pay higher per gallon rates than other retail customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Retail segment gross profit increased to $13,405,250 (52% of retail revenue) for 2022 as compared to $11,044,016 (50% of retail revenue) for 2021 due to the revenue increase.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Consistent with prior periods, we record all non-direct G&amp;A expenses in our retail segment and do not allocate any of these non-direct costs to our other three business segments. Retail G&amp;A expenses increased to $14,552,866 for 2022 as compared to $12,841,259 for 2021. The most significant components of the increase in G&amp;A expenses for 2022 were incremental bonus accruals and stock compensation expense of $976,501 arising from the improved financial performance of the Company. Other components of the G&amp;A expenses increase relate to (i) professional and legal fees, which increased by $167,445; (ii) incremental business development expenses of $170,461 and (iii) insurance costs, which increased by $123,938.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Bulk Segment:</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The bulk segment contributed $8,393,729 and $7,677,362 to our income from operations for 2022 and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Bulk segment revenue was $32,991,066 and $26,800,869 for 2022 and 2021, respectively. The increase in bulk segment revenue from 2021 to 2022 is attributable to an increase in energy costs for CW-Bahamas, which increased the energy pass-through component of CW-Bahamas&#8217; rates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Gross profit for the bulk segment was $9,958,854 (30% of bulk segment revenue) and $9,041,597 (34% of bulk segment revenue) for 2022 and 2021, respectively. Gross profit in dollars increased in 2022 as compared to 2021 principally due to the increase in revenue. Gross profit as a percentage of revenue decreased in 2022 as compared to 2021 principally due to incremental repairs and maintenance expenses for CW-Bahamas of approximately $361,000 and incremental chemical costs of approximately $554,000 arising from higher chemical prices and greater chemicals usage.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Bulk segment G&amp;A expenses increased to $1,570,732 for 2022 as compared to $1,365,735 for 2021 primarily due to relatively small increases in a variety of expense categories.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Services Segment:</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The services segment contributed $2,424,217 and $414,394 to our income from operations for 2022 and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Services segment revenue increased to $28,835,428 for 2022 compared to $13,884,857 for 2021 due to increases in both plant design and construction revenue and operating and maintenance revenue, with most of the revenue increase resulting from PERC&#8217;s progress on its contract with Liberty Utilities for the construction of a water treatment plant in Goodyear, Arizona which commenced in the third quarter of 2022. Revenue recognized on this contract in 2022 was approximately $9.5 million.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">33</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The gross profit for the services segment was $5,861,794 (20% of services segment revenue) in 2022 as compared to $3,177,614 (23% of services revenue) for 2021. The increase in gross profit dollars results from the increased revenue. The decrease in gross profit as a percentage of revenue from 2021 to 2022 results from the relatively lower gross profit percentage earned on PERC&#8217;s contract with Liberty Utilities compared to that earned from PERC&#8217;s operating and maintenance contracts.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">G&amp;A expenses for the services segment increased to $3,461,294 for 2022 as compared to $2,762,735 for 2021 as a result of increased bonus accruals of $235,204 arising from the improved financial performance of PERC, $385,156 in incremental other employee costs attributable to salary increases and new hires and increased insurance expense.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Manufacturing Segment:</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The manufacturing segment incurred a loss from operations of ($358,748) for 2022 as compared to a loss of ($4,036,666) for 2021. The loss from operations for 2021 reflects an impairment loss recorded for our manufacturing segment&#8217;s goodwill of $2,900,000 due to a decline in Aerex&#8217;s projected future cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Manufacturing segment revenue was $6,324,465 and $4,072,823 for 2022 and 2021, respectively. Manufacturing segment revenue increased from 2021 to 2022 due to an increase in production activity that resulted from an easing of some of the supply change difficulties that restricted production for 2021 and most of 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Manufacturing segment gross profit was $1,129,225 (18% of manufacturing segment revenue) and $243,964 (6% of manufacturing segment revenue) for 2022 and 2021, respectively. The increase in manufacturing segment gross profit in dollars reflects the increased revenue. Gross profit as a percentage of revenue increased due to the revenue increase and the resulting lesser relative impact of fixed factory overhead on this measure, as we elected to continue the employment of all of our highly skilled manufacturing personnel during 2022 and 2021 despite the decrease in production activity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">G&amp;A expenses for the manufacturing segment remained relatively consisted at $1,485,342 for 2022 as compared to $1,380,630 for 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The results of our manufacturing segment have been adversely affected by current economic conditions including, but not limited to, increasing raw materials prices, rising human resources costs, tight labor markets, and extended and unexpected delays in the procurement and delivery of raw materials. We believe these economic conditions have also resulted in product order delays from Aerex&#8217;s existing and prospective customers. The current economic conditions could continue (or further deteriorate) and therefore could continue to adversely impact the future results of our manufacturing segment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">FINANCIAL CONDITION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The significant changes in the components of our consolidated balance sheet as of December&#160;31, 2022 as compared to December&#160;31, 2021 (other than the change in our cash and cash equivalents, which is discussed later in &#8220;LIQUIDITY AND CAPITAL RESOURCES&#8221;) and the reasons for these changes are discussed in the following paragraphs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">Current inventory increased by approximately $3.2 million primarily due to an increase in Aerex&#8217;s inventory, as Aerex began a major new contract in the fourth quarter of 2022. Some of Aerex&#8217;s manufacturing contracts have also been delayed, resulting in extended retention times for various inventory items purchased for these contracts.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">Prepaid expenses and other current assets increased by approximately $3.1 million primarily due to advance payments to contractors and suppliers and the cost of PERC&#8217;s construction bond for the Liberty Utilities project.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">Contract assets increased by approximately $2.4 million due to an increase in the Red Gate plant construction and Aerex&#39;s manufacturing activities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">Construction in progress increased by approximately $3.0 million due to construction activity for Cayman Water&#8217;s replacement of its West Bay desalination plant.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">34</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">Accounts payable, accrued expenses and other liabilities increased by approximately $5.6 million primarily due to an increase in subcontractor costs for PERC&#8217;s contract with Liberty Utilities and Aerex&#8217;s manufacturing projects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">Contract liabilities increased by $8.3 million primarily due to approximately $7.0 million in billings made by the services segment in connection with PERC&#8217;s new contract with Liberty Utilities. Aerex also had an increase of approximately $1.3 million in billings in the manufacturing segment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">LIQUIDITY AND CAPITAL RESOURCES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Certain transfers from our Bahamas bank accounts to our bank accounts in other countries require the approval of the Central Bank of The Bahamas.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Cayman Islands does not have a tax treaty with the United States. Consequently, should we be required (or elect) to transfer any profits generated by our U.S. operations to our parent company in the Cayman Islands, the amount of any such profits transferred would be subject to a 30% withholding tax.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Liquidity Position</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our projected liquidity requirements for 2023 include capital expenditures for our existing operations of approximately $14.1 million, which includes $2.8 million to be incurred in 2023 for the replacement of the West Bay seawater desalination plant and approximately $7.5 million for construction of the WAC&#8217;s new Red Gate plant. We paid approximately $1.4 million for dividends in January 2023. Our liquidity requirements may also include future quarterly dividends, if such dividends are declared by our Board.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On January 4, 2023, we purchased the remaining 39% of PERC from its minority shareholders for approximately $2.44 million in cash and 368,383 shares of the Company&#8217;s common stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">As of December&#160;31, 2022, we had cash and cash equivalents of $50.7 million and working capital of $69.9 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">With the exception of the liquidity matter relating to CW-Bahamas that is discussed in the paragraphs that follow, we are not presently aware of anything that would lead us to believe that we will not have sufficient liquidity to meet our needs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">CW-Bahamas Liquidity</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">CW-Bahamas&#8217; accounts receivable balance (which include accrued interest) due from the WSC amounted to $16.3 million as of December&#160;31, 2022. Approximately 65% of the December&#160;31, 2022 accounts receivable balance was delinquent as of that date. The delay in collecting these accounts receivable has adversely impacted the liquidity of this subsidiary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">From time to time, CW-Bahamas has experienced delays in collecting its accounts receivable from the WSC. When these delays occur, we hold discussions and meetings with representatives of the WSC and The Bahamas government, and as a result, payment schedules are developed for WSC&#8217;s delinquent accounts receivable. All previous delinquent accounts receivable from the WSC, including accrued interest thereon, were eventually paid in full. Based upon this payment history, CW-Bahamas has never been required to provide an allowance for doubtful accounts for any of its accounts receivable, despite the periodic accumulation of significant delinquent balances. As of December&#160;31, 2022, we have not provided an allowance for doubtful accounts for CW-Bahamas&#8217; accounts receivable from the WSC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In February 2022, we received correspondence from the Ministry of Finance of the Government of the Bahamas that stated that the Government intends to return all of CW-Bahamas&#8217; accounts receivable from the WSC to current status.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_Hlk129731386"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In its latest report dated October 6, 2022, Moody&#8217;s Investor Services (&#8220;Moody&#8217;s&#8221;) downgraded the Government of The Bahamas&#8217; long-term issuer and senior unsecured ratings to B1 from Ba3. Moody&#8217;s also lowered The Bahamas&#8217; local currency ceiling to Baa3 from Baa2 and its foreign currency ceiling to Ba1 from Baa3. Based upon our review of this Moody&#8217;s report, we continue to believe no allowance for doubtful accounts is required for CW-Bahamas&#8217; accounts receivable from the WSC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">35</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Discussion of Cash Flows for the Year Ended December&#160;31, 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our cash and cash equivalents increased to $50,711,751 as of December&#160;31, 2022 from $40,358,059 as of December&#160;31, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Cash Flows from Operating Activities</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Net cash provided by our operating activities was $21,331,805. This net cash provided reflects net income generated for the year ended December&#160;31, 2022 of $6,969,207 as adjusted for (i)&#160;various items included in the determination of net income that do not affect cash flows during the year; and (ii)&#160;changes in the other components of working capital. The more significant of such items and changes in working capital components included depreciation and amortization of $6,187,308, an increase in contract liabilities of $8,290,043, an increase in accounts payable and accrued expenses of $6,756,433, an increase in inventory of $3,387,011, an increase in prepaid expenses and other assets of $3,365,747 and an increase in contract assets of $2,423,761.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Cash Flows from Investing Activities</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Net cash used by our investing activities was $4,981,036. Cash used was primarily for additions to property, plant and equipment and construction in progress of $7,542,761. We did not renew our CW-Bahamas $2.5 million certificate of deposit at year-end.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">Cash Flows from Financing Activities</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Net cash used by our financing activities was $6,304,873, almost all of which related to the payment of dividends.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Material Commitments, Expenditures and Contingencies</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Cayman Water Retail License</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We sell water through our retail operations under a license issued in July&#160;1990 by the Cayman Islands government (the &#8220;1990 license&#8221;) that granted Cayman Water the exclusive right to provide potable water to customers within its licensed service area. Although the 1990 license was not expressly extended after January&#160;2018, we continue to supply water under the terms of the 1990 license, as discussed in the following paragraphs. Pursuant to the 1990 license, Cayman Water has the exclusive right to produce potable water and distribute it by pipeline to its licensed service area, which consists of two of the three most populated areas of Grand Cayman Island: Seven Mile Beach and West Bay. In 2022 and 2021, we generated approximately 27% and 33%, respectively, of our consolidated revenue and 44% and 47%, respectively, of our consolidated gross profit from the retail water operations conducted under the 1990 license.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The 1990 license was originally scheduled to expire in July&#160;2010 but was extended several times by the Cayman Islands government to provide the parties with additional time to negotiate the terms of a new license agreement. The most recent express extension of the license expired on January&#160;31, 2018. We continue to operate under the terms of the 1990 license, providing water services to the level and quality specified in the 1990 license and in accordance with our understanding of its legal obligations, treating those obligations set forth in the 1990 license as operative notwithstanding the expiration of the express extension. We continue to pay the royalty of 7.5% of revenue we collect required under the 1990 license.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In October&#160;2016, the Government of the Cayman Islands passed legislation which created a new utilities regulation and competition office (&#8220;OfReg&#8221;). OfReg is an independent and accountable regulatory body with a view of protecting the rights of consumers, encouraging affordable utility services and promoting competition. OfReg, which began operations in January&#160;2017, has the ability to supervise, monitor and regulate multiple utility undertakings and markets. Supplemental legislation was passed by the Government of the Cayman Islands in April&#160;2017, which transferred responsibility for economic regulation of the water utility sector and the retail license negotiations from the WAC to OfReg in May&#160;2017. We began license negotiations with OfReg in July&#160;2017 and such negotiations are continuing. We have been informed during our retail license negotiations, both by OfReg and its predecessor in these negotiations, that the Cayman Islands </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">36</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">government seeks to restructure the terms of our license in a manner that could significantly reduce the operating income and cash flows we have historically generated from our retail license.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Cayman Islands government could seek to grant a third party a license to service some or all of Cayman Water&#8217;s present service area. However, as set forth in the 1990 license, <i style="font-style:italic;">&#8220;the Governor hereby agrees that upon the expiry of the term of this Licence or any extension thereof, he will not grant a licence or franchise to any other person or company for the processing, distribution, sale and supply of water within the Licence Area without having first offered such a licence or franchise to the Company on terms no less favourable than the terms offered to such other person or company.&#8221;</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We are presently unable to determine what impact the resolution of our retail license negotiations will have on our cash flows, financial condition or results of operations but such resolution could result in a material reduction (or the loss) of the operating income and cash flows we have historically generated from our retail operations and could require us to record impairment losses to reduce the carrying value of our retail segment assets. Such impairment losses could have a material adverse impact on our <span style="background:#ffffff;">consolidated financial condition, results of operation and cash flows</span>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">CW-Bahamas Performance Guarantees</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our contracts to supply water to the WSC from our Blue Hills and Windsor plants require us to guarantee delivery of a minimum quantity of water per week. If the <span style="background:#ffffff;">WSC requires the water and </span>we do not meet this minimum, we are required to pay the WSC for the difference between the minimum and actual gallons delivered at a per gallon rate equal to the price per gallon that WSC is currently paying us under the contract. The Blue Hills contract expires in 2032 and requires us to deliver 63.0 million gallons of water each week. The Windsor contract expires in 2033 and requires us to deliver 16.8 million gallons of water each week.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Adoption of new accounting standards</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">None.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Effect of newly issued but not yet effective accounting standards</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">None.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Dividends</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">On January 31, 2022, we paid a dividend of $0.085 to shareholders of record on January&#160;3, 2022.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">On April 29, 2022, we paid a dividend of $0.085 to shareholders of record on April 1, 2022.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">On July 29, 2022, we paid a dividend of $0.085 to shareholders of record on July 1, 2022.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;background:#ffffff;">On October 31, 2022, we paid a dividend of $0.085 to shareholders of record on October 3, 2022</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">On January 31, 2023, we paid a dividend of $0.085 to shareholders of record on January&#160;3, 2023.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">On February 21, 2023, our Board declared a dividend of $0.085 payable on April 28, 2023 to shareholders of record on April 3, 2023.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We have paid dividends to owners of our common stock and redeemable preferred stock since we began declaring dividends in 1985. Our payment of any future cash dividends will depend upon our earnings, financial condition, cash flows, capital requirements and other factors our Board of Directors deems relevant in determining the amount and timing of such dividends.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Dividend reinvestment and common stock purchase plan</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">This plan is available to our shareholders, who may reinvest all or a portion of their common stock dividends into shares of common stock at prevailing market prices and may also invest optional cash payments to purchase additional shares at prevailing market prices as part of this plan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">37</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Impact of inflation</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_Hlk126079165"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Under the terms of our Cayman Islands license and our water sales agreements in The Bahamas and the British Virgin Islands, our water rates are automatically adjusted for inflation on an annual basis. Therefore, the impact of inflation on our gross profit, measured in consistent dollars, historically has not been material. However, we have not increased our retail water rates since January 2018 (despite the inflation that has occurred since that date) due to the lack of a resolution of our negotiations with OfReg for a new retail license. This lack of a rate increase has contributed to a decline in the gross profit generated by our retail segment. Furthermore, our manufacturing segment has been adversely impacted by recent significant increases in raw material costs and our services segment could suffer similar adverse impacts in the future. Should the current inflationary trend continue, our consolidated results of operations and cash flows could be materially adversely affected. In general, our operating and maintenance contracts are adjusted annually for the impacts of inflation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Increases in fuel and energy costs and other items could create additional credit risks for us, as our customers&#8217; ability to pay our invoices could be adversely affected by such increases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><a id="_1a76ac3c_e5c5_4ba9_9f44_0a1210e031ba"></a><a id="ITEM7AQUANTITATIVEANDQUALITATIVEDISCLOSU"></a><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:54pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">ITEM 7A.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">QUANTITATIVE AND QUALITATIVE DISCLOSURE ABOUT MARKET RISK</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">38</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_69ab2fcc_5826_496e_bbb5_9310e6b15714"></a><a id="ITEM8FINANCIALSTATEMENTSANDSUPPLEMENTARY"></a><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:54pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">ITEM 8.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">FINANCIAL STATEMENTS AND SUPPLEMENTARY DATA</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"></div></div></td><td style="vertical-align:bottom;width:6.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td></tr><tr><td style="vertical-align:middle;width:93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:6.99%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Page</b></p></td></tr><tr><td style="vertical-align:middle;width:93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">CONSOLIDATED WATER CO. LTD.</b></p></td><td style="vertical-align:bottom;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:middle;width:93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">INDEX TO CONSOLIDATED FINANCIAL STATEMENTS</b></p></td><td style="vertical-align:bottom;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:middle;width:93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#REPORTOFINDEPENDENTREGISTEREDPUBLICACCOU"><span style="font-style:normal;font-weight:normal;">Report of Independent Registered Public Accounting Firm</span></a> (PCAOB ID No. <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:AuditorFirmId" id="Narr_sMNjf6K3o0qFY8O-30lU3Q">688</ix:nonNumeric>)</p></td><td style="vertical-align:bottom;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">40</p></td></tr><tr><td style="vertical-align:middle;width:93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#CONSOLIDATEDBALANCESHEETS_889336"><span style="font-style:normal;font-weight:normal;">Consolidated Balance Sheets as of December&#160;31, 2022 and 2021</span></a></p></td><td style="vertical-align:bottom;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">43</p></td></tr><tr><td style="vertical-align:middle;width:93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#CONSOLIDATEDSTATEMENTSOFINCOME_77454"><span style="font-style:normal;font-weight:normal;">Consolidated Statements of Income for the Years Ended December&#160;31, 2022 and 2021</span></a></p></td><td style="vertical-align:bottom;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">44</p></td></tr><tr><td style="vertical-align:middle;width:93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUI"><span style="font-style:normal;font-weight:normal;">Consolidated Statements of Stockholders&#8217; Equity for the Years Ended December&#160;31, 2022 and 2021</span></a></p></td><td style="vertical-align:bottom;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">45</p></td></tr><tr><td style="vertical-align:middle;width:93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#CONSOLIDATEDSTATEMENTSOFCASHFLOWS_826826"><span style="font-style:normal;font-weight:normal;">Consolidated Statements of Cash Flows for the Years Ended December&#160;31, 2022 and 2021</span></a></p></td><td style="vertical-align:bottom;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">46</p></td></tr><tr><td style="vertical-align:middle;width:93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#NOTESTOCONSOLIDATEDFINANCIALSTATEMENTS_2"><span style="font-style:normal;font-weight:normal;">Notes to Consolidated Financial Statements</span></a></p></td><td style="vertical-align:bottom;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">47</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Schedule II, Valuation and Qualifying Accounts, is omitted because the information is included in the financial statements and notes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">39</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_84096bfd_80dd_4263_b0da_a544d0aa7b14"></a><a id="REPORTOFINDEPENDENTREGISTEREDPUBLICACCOU"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">To the Shareholders and Board of Directors of </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Consolidated Water Co. Ltd.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Opinion on the Financial Statements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We have audited the accompanying consolidated balance sheet<b style="font-weight:bold;">s</b> of Consolidated Water Co. Ltd. (the &#8220;Company&#8221;) as of December 31, 2022 and 2021, the related consolidated statements of income, stockholders&#8217; equity and cash flows for each of the two years in the period ended December 31, 2022, and the related notes (collectively referred to as the &#8220;financial statements&#8221;). &#160;In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2022 and 2021, and the results of its operations and its cash flows for each of the two years in the period ended December 31, 2022, in conformity with accounting principles generally accepted in the United States of America.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Basis for Opinion</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">These financial statements are the responsibility of the Company&#39;s management. Our responsibility is to express an opinion on the Company&#39;s financial statements based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) (&quot;PCAOB&quot;) and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audits to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. The Company is not required to have, nor were we engaged to perform, an audit of its internal control over financial reporting. As part of our audits we are required to obtain an understanding of internal control over financial reporting but not for the purpose of expressing an opinion on the effectiveness of the Company&#39;s internal control over financial reporting. Accordingly, we express no such opinion. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Critical Audit Matters</b> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The critical audit matters communicated below are matters arising from the current period audit of the financial statements that were communicated or required to be communicated to the audit committee and that: (1) relate to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective, or complex judgments. The communication of critical audit matters does not alter in any way our opinion on the financial statements, taken as a whole, and we are not, by communicating the critical audit matters below, providing separate opinions on the critical audit matters or on the accounts or disclosures to which they relate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Evaluation of Goodwill for the Manufacturing Reporting Unit</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-style:italic;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">As of December 31, 2022, the Manufacturing reporting unit&#39;s goodwill balance was $1,985,211. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Management&#8217;s goodwill impairment assessment for the Manufacturing reporting unit involves subjective management assumptions. These assumptions are forward-looking and are effected by shifts in the evolving market landscape. Changes in these assumptions can have a material effect on the determination of the fair value of this reporting unit. Given the significant judgments made by management to estimate the fair value of the Manufacturing reporting unit, performing </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">40</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">audit procedures to evaluate the reasonableness of management&#8217;s estimates and assumptions related to the forecasts of future operating results required a high degree of auditor judgment and an increased extent of effort.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company estimated the fair value of the Manufacturing reporting unit by applying the discounted cash flow method, which relied upon seven-year discrete projections of operating results, working capital and capital expenditures, along with a terminal value subsequent to the discrete period. The seven-year projections were based upon historical and anticipated future results, general economic and market conditions, and considered the impact of planned business and operational strategies. The discount rates for the calculations represented the estimated cost of capital for market participants at the time of the analysis.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company also estimated the fair value of the Manufacturing reporting unit for the year ended December 31, 2022 by applying the guideline public company method. The Company weighted the fair values estimated for the Manufacturing reporting unit under each method and summed such weighted fair values to estimate the overall fair value for the reporting unit. The respective weightings applied to each method for the year ended December 31, 2022 were 80% to the discounted cash flow method and 20% to the guideline public company method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our primary audit procedures to test management&#8217;s goodwill impairment evaluation for the manufacturing reporting unit included the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">We obtained an understanding and evaluated the design of the Company&#39;s internal controls over management&#8217;s annual goodwill impairment assessment, including controls addressing:</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Courier New';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Management&#8217;s assessment of potential triggering events indicating potential impairment.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 72pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Courier New';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Management&#8217;s annual goodwill assessment and controls surrounding their qualitative and quantitative assessments.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">We obtained the Company&#39;s ASC 350 Goodwill impairment analysis memo and supporting workbook for the Manufacturing segment prepared by the Company&#39;s management which includes their goodwill evaluation and discounted cash flow model. </span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">We substantively tested the appropriateness of the prospective financial information and assumptions included in the valuation model associated with the projected balance sheets, income statements, capital expenditures, effective tax rates, and growth rates of the out years for contradictions to market factors and information, historical experiences, economic conditions, and the Company&#39;s objectives and business risks. </span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">In assessing the prospective financial information, we evaluated the reasonableness of management&#39;s revenue and operating projections included in their discounted cash flow model through testing of the Company&#8217;s contract backlogs and through performing a retrospective review comparing actual historical operations to projections.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">We obtained the Company&#39;s ASC 350 Goodwill impairment analysis report for the Manufacturing segment prepared by the Company&#39;s specialist and assessed the appropriateness and reasonableness of valuation methodologies, discount rates, and assumptions used.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">We traced all relevant financial data from the valuation workbook noted above to the inputs that were used in the goodwill valuation report to ensure the Company&#39;s projections were properly incorporated into the valuation model.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">We utilized our valuation specialist to verify that the valuation methodology used by the Company was appropriate. Our valuation specialist tested the clerical accuracy of the valuation model and reperformed the calculation of the estimated fair value of the reporting unit using the methodologies in the valuation report to verify the Company&#39;s calculation of fair value is reasonable. We compared our calculation to the carrying value of the company as of December 31, 2022 noting that there is no impairment.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">41</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">We assessed management&#39;s sensitivity analysis adjusting for changes to the projected cash flows and discount rate, noting significant fair value coverage.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><a id="_1529f93e_df43_4c9d_81bf_efa1521db5a5"></a><a id="Tc_AVYKBxVfb0mZnARujcOWGQ_1_0"></a><a id="Tc_CeZembHprECas-pu3LvLrQ_3_0"></a><a id="Tc_No31Etmb2kq-XFCA7RSq7w_6_0"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:98.74%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:50.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:49.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">/s/ </b><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:AuditorName" id="Narr_Wv1noAZRm0GZLYXid3NI_Q"><b style="font-weight:bold;">Marcum LLP</b></ix:nonNumeric></p></td><td style="vertical-align:bottom;width:50.63%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.36%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:50.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">We have served as the Company&#8217;s auditor since 2005.</p></td><td style="vertical-align:bottom;width:50.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:50.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="dei:AuditorLocation" id="Tc_gPiTnUIWfkKeW6xE-YOgSg_5_0">West Palm Beach, Florida</ix:nonNumeric></p></td><td style="vertical-align:bottom;width:50.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March 30, 2023</p></td><td style="vertical-align:bottom;width:50.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">42</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_92a8fd7a_110e_4458_915a_5ae06f19f1ba"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt;">CONSOLIDATED WATER CO.&#160;LTD.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:6pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="CONSOLIDATEDBALANCESHEETS_889336"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt;">CONSOLIDATED BALANCE SHEETS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:4pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="_e0de67db_1e6d_40fd_98ad_f87aad153786"></a><a id="Tc_yjaGQSAN-ECfuwphlLTXog_1_2"></a><a id="Tc_8jOdxhhnVUyo2Mjzn1aIiw_2_2"></a><a id="Tc_iTDKn4yhzEiGk7nTlsq10g_2_5"></a><a id="Tc_2ZJJ7gUheki2cbveQer4vg_3_0"></a><a id="Tc_MfteiBO8_0yO8ymC4kvAlw_4_0"></a><a id="Tc_zryDJqlVLU6qgKLrQShhKg_5_0"></a><a id="Tc_qj1hjegSFkGOZB1bHKOi2w_5_2"></a><a id="Tc_7KkBoFnEtUGbG_uBqkR6Sw_5_5"></a><a id="Tc_htuflapx1Emk0GT77EdDiQ_6_0"></a><a id="Tc_rziEaXshAEaigxReovFTEw_7_0"></a><a id="Tc_noNReeoFu06z0yXx1CaFEA_8_0"></a><a id="Tc_pk161v6Sska_rAnYAv0Sow_9_0"></a><a id="Tc_fPHuSt-nREaDLCmWUJ7UZg_10_0"></a><a id="Tc_Cz824A5gHUW4q-BsrZZVcg_11_0"></a><a id="Tc_0dy4rttz0kuPWnZTa9lr5g_12_0"></a><a id="Tc_XGNGOBxCIEmfWWLRAG5hrA_13_0"></a><a id="Tc_mgjf37n580STWWeDKDZclg_14_0"></a><a id="Tc_yLQkCp0XXkiItSiBsupq6g_15_0"></a><a id="Tc_CCYebO72yEG4Zzic1cWKDQ_16_0"></a><a id="Tc_753t7h9ncUmrcxPtTLvP0w_17_0"></a><a id="Tc_4s60YlLfGkSUiBUvg3SMWQ_18_0"></a><a id="Tc_M0QC1U2zAkWRGjyX-JeChw_19_0"></a><a id="Tc_uBQPindp50O6yNNhNXl2SA_20_0"></a><a id="Tc_MUoxy-GpLkaLrdofZ3r_1g_21_0"></a><a id="Tc_o6GHBC1eTUaNF1DH9sgCVA_22_0"></a><a id="Tc_7Dtr-gKAQU618NumU8V1mw_23_0"></a><a id="Tc_WUXoK6Rslkaju4paQkSDcA_23_2"></a><a id="Tc_CF45uOAV0UWHRJWxZgF7fA_23_5"></a><a id="Tc_u4oXt9utf0-igKFehOAW0A_25_0"></a><a id="Tc_hpsszggdT0iFxXulcsZiuQ_26_0"></a><a id="Tc_RT7G0FVok0yYmSZQrawb1g_27_0"></a><a id="Tc_7VtbixD0BESqORgSimDQnw_27_2"></a><a id="Tc_BGi_y1HSIEmhDMz8RNxTXw_27_5"></a><a id="Tc_bbrY8w0l_EeLSmdZIGuITQ_28_0"></a><a id="Tc_43VoFsvlKEezOXnXiYsI2g_29_0"></a><a id="Tc_3Pvc64fJC0G0G37vcVIWkQ_30_0"></a><a id="Tc_jHNldwR6Mk-W2kxF4Dll5Q_31_0"></a><a id="Tc_b9jvw4mW6kWDY2crXr4x1Q_32_0"></a><a id="Tc_D4537XN8P0isBqhBIZq8pg_33_0"></a><a id="Tc_Za6lInPb-k6LpwQRvXfWfg_34_0"></a><a id="Tc_4vRiV7nliE2DbuWHxf-roQ_35_0"></a><a id="Tc_2Fn6A5kkCkKtEjZppzCYVQ_36_0"></a><a id="Tc_Y6c6W3FpWUKwzz-6Fxpxtw_37_0"></a><a id="Tc_DgLw_COID0uayviqLv25uA_38_0"></a><a id="Tc_-QVywFhYNkW_em1CGrtZQw_39_0"></a><a id="Tc_q7Yj3skP0U-hYgPzjE3FJQ_40_0"></a><a id="Tc_mUVyzsgEdEqgOC-0Xo995Q_41_0"></a><a id="Tc_Ll_J1iHcEEWE_sEnwwTQgw_42_0"></a><a id="Tc_ou44kn2D_EqgW_Qi3GgoNQ_43_0"></a><a id="Tc_UndRWqI7JUKrjCqniL23fw_44_0"></a><a id="Tc_WPhnu4QXUEi6qElXoLFm8w_45_0"></a><a id="Tc_CI792wJxDES1McdZVxuZ4g_46_0"></a><a id="Tc_suMXqcgivky6rm890n6CGw_47_0"></a><a id="Tc_ZOTKrVsgEk6UBGn6vIpE7g_48_0"></a><a id="Tc_Sh_FnItZqESfeeDAGPKVxw_49_0"></a><a id="Tc_w7z_9WJYBE25hTl1M892ag_50_0"></a><a id="Tc_CuuXPwU2Y0eQ1xWvA9reRQ_51_0"></a><a id="Tc_RJYSi7D2DEWD6e0haRTgaw_52_0"></a><a id="Tc_cxqYeHz3j0uunxuH017JSw_53_0"></a><a id="Tc_hq_q3Vw1bUmXqrwSxE8CFg_54_0"></a><a id="Tc_dT_YPQTxUkquycIZTB2gyA_54_2"></a><a id="Tc_cXNbk-U2RkiuK0FiL_rLQw_54_5"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">ASSETS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Current assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="0" id="Tc_A0KdArAXL0yJFj6VpCPQyA_5_3">50,711,751</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="0" id="Tc_0LP1btkwR0u0EmFCAmQLwA_5_6">40,358,059</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Certificate of deposit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:zerodash" name="us-gaap:CertificatesOfDepositAtCarryingValue" scale="0" id="Tc_Wcqs-YIBv0Wlm5Ya37KDAA_6_3">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CertificatesOfDepositAtCarryingValue" scale="0" id="Tc_mr7ZWwM9jES2ntmVrJHGvA_6_6">2,500,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" id="Tc_tUG4VP1UHkaQaGfq4-uFWQ_7_3">27,046,182</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" id="Tc_l4yhD9v_N0KEgI8aF6Hezg_7_6">27,349,307</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Inventory</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="0" id="Tc_bhIgM1dcjUWzgG9GwUCNFQ_8_3">5,727,842</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="0" id="Tc_Ibr3zgRqZ0aWF1gsfMf5EA_8_6">2,504,832</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="0" id="Tc_PsZWfOzVqE6H4uNtqIbTMA_9_3">5,643,279</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="0" id="Tc_vCTq_bvVvEajyzmwJqtJ_Q_9_6">2,558,822</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Contract assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="0" id="Tc_TMCe2ujkcEeXW4vKskVfQA_10_3">2,913,722</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="0" id="Tc_mietmBe410WzJj6KQCB_0g_10_6">489,961</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Net asset arising from put/call options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:zerodash" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue" scale="0" id="Tc_zdTDLh0WdE6kj7uomlrCAg_11_3">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue" scale="0" id="Tc_Bj_vTeLCsUS05TgxA8BF_Q_11_6">128,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Current assets of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent" scale="0" id="Tc_IvSbDpF_8E605rO55NCtCQ_12_3">531,480</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent" scale="0" id="Tc_Ss7AA8JOfkaZlttL89x2PQ_12_6">1,173,741</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total current assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="0" id="Tc_OtZF-VuVcUC6IguvXkkrbg_13_3">92,574,256</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="0" id="Tc_INYEHSkGHk65Rm5vadoHjg_13_6">77,062,722</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_a2JHip-bVE6mTMTF4Wt2vg_14_3">52,529,545</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_aUs_V_lNp0OyGTT5Raj8Cw_14_6">52,946,539</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Construction in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="cwco:ConstructionInProgress" scale="0" id="Tc_Z63u4Xqs3UGyaUCWKaDEyw_15_3">3,705,681</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="cwco:ConstructionInProgress" scale="0" id="Tc_HghrLg2Bo0qUFamTRyJMIg_15_6">710,863</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Inventory, noncurrent</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InventoryNoncurrent" scale="0" id="Tc_AYXvRypVvECvSApEukLB4A_16_3">4,550,987</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InventoryNoncurrent" scale="0" id="Tc_PFv9tun4v0OoToBmB5jpjQ_16_6">4,733,010</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Investment in OC-BVI</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="0" id="Tc_xwiTw-fucUGvprIUrWQPyQ_17_3">1,545,430</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="0" id="Tc_gNcr6WpkC02DWxZGIfYWBQ_17_6">1,715,905</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="0" id="Tc_qFuolRfcA02d4rUAVFs8ag_18_3">10,425,013</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="0" id="Tc_6PwZJy4bFk2PAbLNt3F2bg_18_6">10,425,013</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Intangible assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="0" id="Tc_fcZJR5fx10y5LsfiWdi1Iw_19_3">2,818,888</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="0" id="Tc_hX7bqeLMR0GVjdJL27obkg_19_6">3,401,666</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Operating lease right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="0" id="Tc_l7U2iQooLkWMO6SYL7pqfg_20_3">2,058,384</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="0" id="Tc_CPF3Iwd3t0GKcw7exf7Asg_20_6">2,681,137</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Other assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="0" id="Tc_QSzduiNrT0mg4Y8Y2MRHcg_21_3">1,669,377</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="0" id="Tc_g5A3bwfSx0SqRq5ClL3jzg_21_6">1,531,816</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Long-term assets of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent" scale="0" id="Tc_STdeRlqi1EaVPTxnslapTQ_22_3">21,129,288</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent" scale="0" id="Tc_85hPguP-0UWFzDvp27Z4cw_22_6">21,146,186</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="0" id="Tc_QLdMjY55KkiurFOTNUEoUg_23_3">193,006,849</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="0" id="Tc_6FMJS8446Eu9IhPWNlrJrQ_23_6">176,354,857</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">LIABILITIES AND EQUITY</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Current liabilities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Accounts payable, accrued expenses and other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent" scale="0" id="Tc_ZfZOq1bTP0KrfG4gUGeDuQ_27_3">8,438,315</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent" scale="0" id="Tc_JWQM7w5K0EeKHjQ8VZjxyA_27_6">2,831,925</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Accounts payable - related parties</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableRelatedPartiesCurrent" scale="0" id="Tc_gVO38_2L0EOM23O3u2pr0w_28_3">403,839</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableRelatedPartiesCurrent" scale="0" id="Tc_C80TgfE9ek6OAXULDO64oA_28_6">163,947</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Accrued compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccruedEmployeeBenefitsCurrent" scale="0" id="Tc_Ly8YWSX3t0S0j3KIfPR7Lw_29_3">2,267,583</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccruedEmployeeBenefitsCurrent" scale="0" id="Tc_Ot-QMsXjCkGncp18fpBh_g_29_6">1,435,542</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Dividends payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DividendsPayableCurrent" scale="0" id="Tc_NpaYGZOE7Uil1sopHX52lQ_30_3">1,375,403</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DividendsPayableCurrent" scale="0" id="Tc_n8eNCAUXY0G_Buw8xW5cKQ_30_6">1,320,572</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Current maturities of operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="0" id="Tc_dkzpGZ0SJkC7glAWHl4eGQ_31_3">546,851</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="0" id="Tc_RsMhI117-E6envtk4msvfg_31_6">592,336</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Current portion of long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtCurrent" scale="0" id="Tc_pphawK5gv0mxBmRRNABotw_32_3">114,964</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtCurrent" scale="0" id="Tc_XIPedN4olEqT6u26mpVqgQ_32_6">62,489</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Contract liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="0" id="Tc_T3ytxjqdYEikfqYSTTUmmQ_33_3">8,803,921</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="0" id="Tc_nwVtw96oxkmDF2YRwHhkOA_33_6">513,878</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Deferred revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeCurrent" scale="0" id="Tc_BMRZB9oOBE2_6w8XIBKKYQ_34_3">315,825</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeCurrent" scale="0" id="Tc_8Sdda_rtIUGmXE3Li4nqXQ_34_6">583,646</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Current liabilities of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent" scale="0" id="Tc_2BcNBRWtuEaAjOi6jfBlyw_35_3">389,884</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent" scale="0" id="Tc_pJu52-OwcEWPvLSBsHqWRg_35_6">182,322</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total current liabilities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="0" id="Tc__TVAJdAgxUeg5ZIVJA-EVA_36_3">22,656,585</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="0" id="Tc_XxWv4xOQk0C4EB73ziiCHA_36_6">7,686,657</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Long-term debt, noncurrent</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtNoncurrent" scale="0" id="Tc_y1S6bWq-akmJ8vKRLfj2Jw_37_3">216,117</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtNoncurrent" scale="0" id="Tc_UA14diVwYUmrfVzoIiqCoQ_37_6">152,038</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="0" id="Tc_zZa_NaED7EqXlyzSFHPoTQ_38_3">560,306</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="0" id="Tc_sOwhNdKQn0OwVaQdedQD2w_38_6">564,526</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Noncurrent operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="0" id="Tc_h0kXH5T5D0qK9j6r80mCyw_39_3">1,590,542</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="0" id="Tc_27G2RZn3XEO85kb7IubfZw_39_6">2,137,394</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Other liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="0" id="Tc_w9sdZWOeq0alkAawlzKHrA_40_3">219,110</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="0" id="Tc_pv5u-ZNzB0WzMsJWlC4fqg_40_6">141,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Long-term liabilities of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:zerodash" name="us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent" scale="0" id="Tc_tBpz5Cdp9UWancwKhKiahg_41_3">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent" scale="0" id="Tc_j1iDfafP30Gs7dF3iJy7zw_41_6">7,819</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total liabilities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="0" id="Tc_lgzxFXmDVkiXwuQd4hZIHA_42_3">25,242,660</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="0" id="Tc_w4VZN-0df0eq9pcNXhNDDw_42_6">10,689,434</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Commitments and contingencies</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Equity</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Consolidated Water Co. Ltd. stockholders&#39; equity</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"><span style="font-size:8pt;">Redeemable preferred stock, </span><span style="font-size:8pt;">$<ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="Narr_2-JtUSucCUCUCRFR_UNkHw"><ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="Narr_SqplgmGdJ0WG1TU2it7qDw">0.60</ix:nonFraction></ix:nonFraction></span><span style="font-size:8pt;"> par value. Authorized </span><span style="font-size:8pt;"><ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesAuthorized" scale="0" id="Narr_gJeXzb8990ykk3Kh8yvBIw"><ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesAuthorized" scale="0" id="Narr_vwibxX3FKEmgBEdQZaby8w">200,000</ix:nonFraction></ix:nonFraction></span><span style="font-size:8pt;"> shares; </span><span style="-sec-ix-hidden:Hidden_GPyCbHnH7kiOEf_rV-cNWg;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">issued</span></span><span style="font-size:8pt;"> and </span><span style="-sec-ix-hidden:Hidden_nHpl61QsaUKDOfPdaFxIng;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">outstanding</span></span><span style="font-size:8pt;"> </span><span style="font-size:8pt;"><ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesIssued" scale="0" id="Narr_ob-XFDcsAU6ty_7rTZDh9w">34,383</ix:nonFraction></span><span style="font-size:8pt;"> and </span><span style="font-size:8pt;"><ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesOutstanding" scale="0" id="Narr_BIyckil8U067tMQ2iB5VRg">28,635</ix:nonFraction></span><span style="font-size:8pt;"> shares, respectively</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PreferredStockValue" scale="0" id="Tc_hsuFSmrbCkSKFiORKx2HdQ_46_3">20,630</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PreferredStockValue" scale="0" id="Tc_JjGg18cQbUiMh9RFhWZyUw_46_6">17,181</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"><span style="font-size:8pt;">Class A common stock, </span><span style="font-size:8pt;">$<ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_vh2QUCelvEC4r_5iR09Lbg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_TyF9e4n4L0K7IAEzNdXYKw"><ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_ZVzwBZGRcUmURhjGB3mM7Q" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_JA2NQPTFNk2aFydkw4iNxg">0.60</ix:nonFraction></ix:nonFraction></span><span style="font-size:8pt;"> par value. Authorized </span><span style="font-size:8pt;"><ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_vh2QUCelvEC4r_5iR09Lbg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_xdYZvOaVeUaE8jXH9uBwWg"><ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_ZVzwBZGRcUmURhjGB3mM7Q" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_nLjL1x2_tUaD4Vl3URweHQ">24,655,000</ix:nonFraction></ix:nonFraction></span><span style="font-size:8pt;"> shares; </span><span style="-sec-ix-hidden:Hidden_4F6JmzwLM0-07_P8GK15VQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">issued</span></span><span style="font-size:8pt;"> and </span><span style="-sec-ix-hidden:Hidden_fueN_H1LAUK7VqpFsfWdQQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">outstanding</span></span><span style="font-size:8pt;"> </span><span style="font-size:8pt;"><ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_ZVzwBZGRcUmURhjGB3mM7Q" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_yCNIU2ZDIEqBw8t6Xfp9zg">15,322,875</ix:nonFraction></span><span style="font-size:8pt;"> and </span><span style="font-size:8pt;"><ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_vh2QUCelvEC4r_5iR09Lbg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" id="Narr_udC6UZD3U0KzkGwBM8HhgA">15,243,693</ix:nonFraction></span><span style="font-size:8pt;"> shares, respectively</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_ZVzwBZGRcUmURhjGB3mM7Q" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="0" id="Tc_CadlUpMEiUGJJXZj2ynd4w_47_3">9,193,725</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_vh2QUCelvEC4r_5iR09Lbg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="0" id="Tc_htx9e2ThF0-pen4Q5zO3BQ_47_6">9,146,216</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Class B common stock, $<ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassBMember_j7t5QY8ABkWqw-1qgBI1dw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_2AfJ3jZVwkKQKl-sY8IYiA"><ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassBMember_CNVGN63SQUmDkK1HNKqZ2Q" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_EpWSyM0jjkmF4XCLDLo5kA">0.60</ix:nonFraction></ix:nonFraction> par value. Authorized <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassBMember_j7t5QY8ABkWqw-1qgBI1dw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_ghlV83_YAkGzmngXUJvCag"><ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassBMember_CNVGN63SQUmDkK1HNKqZ2Q" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_Fa6kR-S9rkeqZlmU4cR27A">145,000</ix:nonFraction></ix:nonFraction> shares; <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassBMember_j7t5QY8ABkWqw-1qgBI1dw" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_BL009kOZUUWC0o-RVF5_4A"><ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassBMember_CNVGN63SQUmDkK1HNKqZ2Q" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_H465jwY4AkyCZPMo3FU13Q">none</ix:nonFraction></ix:nonFraction> issued</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassBMember_CNVGN63SQUmDkK1HNKqZ2Q" decimals="0" format="ixt:zerodash" name="us-gaap:CommonStockValue" scale="0" id="Tc_2Q3pyrrH6UKNIFwNoiejpQ_48_3">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassBMember_j7t5QY8ABkWqw-1qgBI1dw" decimals="0" format="ixt:zerodash" name="us-gaap:CommonStockValue" scale="0" id="Tc_xmSS9jAm1kyjdXbXS2XDrg_48_6">&#8212;</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Additional paid-in capital</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapital" scale="0" id="Tc_NM7YjkePGUKvlSgxCabY-w_49_3">89,205,159</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapital" scale="0" id="Tc_CpiEr84Td0eiO16qY2JHOw_49_6">87,812,432</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Retained earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="0" id="Tc_HK8oEev2RkuYWbNzPGlmNw_50_3">61,247,699</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="0" id="Tc_kDmS8RijDEOrbBa5H_ynlQ_50_6">60,603,056</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Total Consolidated Water Co. Ltd. stockholders&#39; equity</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="0" id="Tc_ChEfOiHnREuYjxONYtXPqQ_51_3">159,667,213</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="0" id="Tc_4A0_UzkfikK0futymdbjbw_51_6">157,578,885</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:MinorityInterest" scale="0" id="Tc_XlMVl_rMv0qebhMQ4TpSVw_52_3">8,096,976</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:MinorityInterest" scale="0" id="Tc_P1yK2DXo-0Kk2mE-fEGx8Q_52_6">8,086,538</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total equity</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_91ntHtd_w0ys4F1WI4sXXg_53_3">167,764,189</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_lGLj4tExGUeMQBFRMeUQvQ_53_6">165,665,423</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total liabilities and equity</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="0" id="Tc_-kpnyp__LU2J-atoRwV3FA_54_3">193,006,849</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="0" id="Tc_M4L3N1pyX06aGxQSLNYrmw_54_6">176,354,857</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="color:#00b050;font-size:4pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">The accompanying notes are an integral part of these consolidated financial statements.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">43</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_134689e3_f9de_41aa_affe_8e1d5f36a8d0"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt;">CONSOLIDATED WATER CO.&#160;LTD.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="CONSOLIDATEDSTATEMENTSOFINCOME_77454"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt;">CONSOLIDATED STATEMENTS OF INCOME</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="_3aa2c4f7_5b00_4ea7_b436_0fc84ccc164d"></a><a id="Tc_UlIuBgAV2Euceb3NloLbjw_1_2"></a><a id="Tc_yigjCOXHnkK4tLSg-SH01w_2_2"></a><a id="Tc_aHdxWF3Kh0WT8dEew7BRsQ_2_5"></a><a id="Tc_ZBJNgWHwfEGSAi7sd0H4rA_3_0"></a><a id="Tc_XQVVU8iOf0GusUwGTUigrA_3_2"></a><a id="Tc_muznWN8wiUmWcA3XP1cWcw_3_5"></a><a id="Tc_vR32VRXttkmdwcvBsQXbrg_4_0"></a><a id="Tc_i7FbSbXX4kSvAPd646qhTg_5_0"></a><a id="Tc_0IsX2bmYxke2T_RjOOae5A_6_0"></a><a id="Tc_xgh1S-D090WOqx9K_-9X8w_7_0"></a><a id="Tc_hs4TkgBBike9XfVSXNSwdA_8_0"></a><a id="Tc_CBm4DmTgbEaOw7qO3Bj0SQ_10_0"></a><a id="Tc_CakaYe0sSUyH8CBQBJwyRQ_11_0"></a><a id="Tc_V8-QDpAIY0CQfrhwRSqJrQ_12_0"></a><a id="Tc_GhzDvC5dIkWesT6_2tDfjg_13_0"></a><a id="Tc_Q_xj5-HDWUqgpEyJJU-C8g_14_0"></a><a id="Tc_dVciiNf36U-4dvTZecSD3g_15_0"></a><a id="Tc_bW1WJMBEDkGjq2YSrn1eYw_16_0"></a><a id="Tc_tFq62EVYpkGIPVWnAnRu9g_17_0"></a><a id="Tc_aqtzfcdg3kKMOHHGDbRGZg_18_0"></a><a id="Tc_ngmfDf8ir0Gd3X2zMjNaEw_19_0"></a><a id="Tc_xENU4eVHjk-ynokfY1Ybdw_20_0"></a><a id="Tc_zKTk7Evfakyyx8XcNjJ6qA_21_0"></a><a id="Tc_QJFmUao5YEq3b5tmW9w3xg_22_0"></a><a id="Tc_FhfG7X8M0kOyE7S6WFVNtw_23_0"></a><a id="Tc_adSS9cQqc0ye3wLWLoqaJw_24_0"></a><a id="Tc_YjG4yglc0EqsWwfD7egdkA_24_2"></a><a id="Tc_oSI0o-6oxUC6DcJlhhUNuw_24_5"></a><a id="Tc__bnensvctkGTs6zeJMPYVg_26_0"></a><a id="Tc_K4j3gFyJuU6EQzDXnJKPPA_27_0"></a><a id="Tc_08emmB5rRUqnBno19xCB9w_27_2"></a><a id="Tc_izV2enFqvE2WXzAG_2-w5A_27_5"></a><a id="Tc_T20kBiudmUuQuFD6c4YFhA_28_0"></a><a id="Tc_12i5OnOg6Ueor-iXXmBEEw_29_0"></a><a id="Tc_A19OjzLD8kyYnLAaAzIpcg_29_2"></a><a id="Tc_IItV9BKlm0uEO1THE7X2XQ_29_5"></a><a id="Tc_SiHGLahwAkOWN1Ar2UOHqQ_31_0"></a><a id="Tc_OKMowJOW_UKz3YlZe8N-oQ_32_0"></a><a id="Tc_wbCt_nbMIE6g5XLGb1sbbA_32_2"></a><a id="Tc_0tghIhFbhUGPKHGWUJs8Aw_32_5"></a><a id="Tc_oo05h79RI064BSWv1FjELA_33_0"></a><a id="Tc_1xRKCR4PaES0sPR7cwo2BA_34_0"></a><a id="Tc_Ny5zKkgcoUW2XLFWeXMnhg_34_2"></a><a id="Tc_7YjsaOe43kq-5FdKHiWlaA_34_5"></a><a id="Tc_QURkI8MhWUyKi0PRIcrWcw_36_0"></a><a id="Tc_lFKr_CtjGUedThVYpVQ9ew_36_2"></a><a id="Tc_erpQl_v-M0yr5IKXsulRdA_36_5"></a><a id="Tc_Au8nxQtHWEyFabKiWHTAxw_38_0"></a><a id="Tc_Uz9C_eGUEU-Rv3TZLp8hTQ_39_0"></a><a id="Tc_NiLvpyZds06nKF864sxzEQ_40_0"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_U5i4I_DdWUKpTQfoPRsxew_3_3">94,104,972</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_Ka2rxHZ1WkyvdhfF_DRjEQ_3_6">66,863,502</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:8pt;font-weight:bold;">Cost of revenue </b><span style="font-size:8pt;">(</span>including purchases from related parties of $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfSalesMember_v0OLl8BXo0WTErurXssnTQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="0" id="Narr_-2qz3L4b9USmWSOvS4w50Q">2,694,810</ix:nonFraction> in 2022 and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfSalesMember_FWegh57lq0G40qMIOWy0tg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="0" id="Narr_JA7GJL6LgU6KuVQwoCmPeg">437,857</ix:nonFraction> in 2021)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_OZMZuHg12EKVjT33ukwGZQ_4_3">63,749,849</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_t7F0zSRNNUW_rOeSff6_tg_4_6">43,356,311</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="0" id="Tc_NcGw2om1bUaISY4TWCcR3Q_5_3">30,355,123</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="0" id="Tc_sc2m4cnm7UGa6-XldkOL8g_5_6">23,507,191</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;">General and administrative expenses (</span>including purchases from related parties of $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember_LyW64rO_ykaR5tjMzwa9aA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="0" id="Narr_nOnKoQuwrUSfpMMPCfPB4g">96,924</ix:nonFraction> in 2022 and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember_VtgY5MG7JkyLzIBSWRs00A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="0" id="Narr_l_kyAtvkakqM0MPm24EUfA">77,190</ix:nonFraction> in 2021)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_aAzTi3uwUEqH7_Q_S8lRTg_6_3">21,070,234</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_KvIHuArOrk6e8xNJi4FBKg_6_6">18,350,359</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Loss on asset dispositions and impairments, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges" sign="-" scale="0" id="Tc_thSIxOWAe0y1GypyhV4saA_7_3">12,704</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges" sign="-" scale="0" id="Tc_wHj7WgbBRUiNYevRZ4uHOA_7_6">3,145,836</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Income from operations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="0" id="Tc_AINAsU006kqPeRO7eWTniw_8_3">9,272,185</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="0" id="Tc_5rUG5Oa840-Rl6cmC-MjOg_8_6">2,010,996</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Other income (expense):</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 12pt;">Interest income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InterestIncomeOther" scale="0" id="Tc_kJJaJJGQN0mbrwAcDoRCrQ_11_3">447,186</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InterestIncomeOther" scale="0" id="Tc_uF1lj26zLUOi38dM0hoXZg_11_6">684,809</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 12pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="0" id="Tc_F6O2r6OHaUSaU8b4iiKveA_12_3">46,545</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="0" id="Tc_6g3tnNjj1E6wU26DEaXLIg_12_6">10,248</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 12pt;">Profit-sharing income from OC-BVI</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="cwco:ProfitLossFromSubsidiaries" scale="0" id="Tc_e00QtF_RrEKE5v2g0DcZ2A_13_3">26,325</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="cwco:ProfitLossFromSubsidiaries" scale="0" id="Tc_ky2vWwYAZ0u-qgN29kVJLA_13_6">22,275</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 12pt;">Equity in the earnings of OC-BVI</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="0" id="Tc_5ay6OFj5CkuLWq1OLh6Z6Q_14_3">75,900</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="0" id="Tc_g8TLjIC7v066tEd0whOARw_14_6">55,984</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 12pt;">Net gain (loss) on put/call options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" sign="-" scale="0" id="Tc_sMwkU6AHcku8uDXW74toOg_15_3">128,000</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" scale="0" id="Tc_7D4qJhrtGkG7EnO-2YqKoA_15_6">818,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="0" id="Tc_YPl6K9rC-EevapNnAUJT1w_16_3">89,944</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="0" id="Tc_5ics_tWhWUG1I5b8Aw8sNg_16_6">52,775</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> Other income, net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" scale="0" id="Tc_wPWfgcrYnEit1332AE4a6Q_17_3">464,810</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" scale="0" id="Tc_FmCXeGMaKEyKdmAqkx9OHg_17_6">1,623,595</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Income before income taxes</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="0" id="Tc_iBURuaVVx0yidL3EeAo5Zg_18_3">9,736,995</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="0" id="Tc_wjbljxkOTES3Lm_M1YFJdA_18_6">3,634,591</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Provision (benefit) for income taxes</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="0" id="Tc_RFZngmJca0alfw4F7YRgkA_19_3">396,739</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="0" id="Tc_UE_SfjE5sUuPMIdxK8_XdA_19_6">447,982</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net income from continuing operations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_BEujDrpG5EOxjros4Qftug_20_3">9,340,256</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_0B2ip1I4bkiGMKXYSYApBw_20_6">4,082,573</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Income from continuing operations attributable to non-controlling interests</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity" scale="0" id="Tc_mZvYPXhW0EiqFZ4AUgb1jQ_21_3">1,112,913</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity" scale="0" id="Tc_dVFU2_amxU6P5aFhhiNwXg_21_6">632,915</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperations" scale="0" id="Tc_4DOQO2R3GkmYn4JSY37Q1g_22_3">8,227,343</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperations" scale="0" id="Tc_PHe0DwBIK0qXu9vSbA1lYw_22_6">3,449,658</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total loss from discontinued operations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax" sign="-" scale="0" id="Tc_me5qaP7rCkaQQubSZ65DPQ_23_3">2,371,049</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax" sign="-" scale="0" id="Tc_Fuhjuf-LBUCKzgYraW605w_23_6">2,574,079</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net income attributable to Consolidated Water Co. Ltd. stockholders</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="0" id="Tc_vxmdEEQHeEydzpLHVWy4UQ_24_3">5,856,294</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="0" id="Tc_BVolVUf0qU6_c93YPfKfYQ_24_6">875,579</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Basic earnings (loss) per common share attributable to Consolidated Water Co. Ltd. common stockholders</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Continuing operations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsPerBasicShare" scale="0" id="Tc_t3zVB60T1EC1u71LplE9Dw_27_3">0.54</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsPerBasicShare" scale="0" id="Tc_xNeOv9IGc0qmTAlK0uxEQw_27_6">0.23</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Discontinued operations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare" sign="-" scale="0" id="Tc_Q85HUDCczUqV5TOYT4MxXg_28_3">0.16</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare" sign="-" scale="0" id="Tc_EwKPJZ2B3kCfU_5g8hcevw_28_6">0.17</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Basic earnings per share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_e3wA_ZtUwkOyDK3MpkPufw_29_3">0.38</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_qv6LxmOzpEmrhj42aRvmYA_29_6">0.06</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Diluted earnings (loss) per common share attributable to Consolidated Water Co. Ltd. common stockholders</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Continuing operations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare" scale="0" id="Tc_4TYT1K2hlUSr2PddKd1S5Q_32_3">0.54</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare" scale="0" id="Tc_y974YSbgrUCfGJXvhEmxTg_32_6">0.23</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Discontinued operations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare" sign="-" scale="0" id="Tc_NVyAm40mLU2ksp-yHS0ODQ_33_3">0.16</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare" sign="-" scale="0" id="Tc_W43Q9Y21WUGjd-gwvZDCQw_33_6">0.17</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Diluted earnings per share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_r76YlOjWMU6U4D8btrEtCQ_34_3">0.38</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_4cBeI0EBdUG-1m-75Bpy6w_34_6">0.06</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Dividends declared per common and redeemable preferred shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Tc_AC3XL-eAc0qaURL4XMrGAA_36_3">0.34</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Tc_ACAJRg3g-k6SJlx807PrFA_36_6">0.34</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted average number of common shares used in the determination of:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 12pt;">Basic earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_J1Y4V6UNLUSF-jhDBF3WXg_39_3">15,290,509</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_rGe80MyBx0yHltjorqHyqQ_39_6">15,213,816</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 12pt;">Diluted earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_8rgk6ELl5EqyNPkCh5Wzww_40_3">15,401,653</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_SWBlMaJKeEq_sCja3XtEFA_40_6">15,310,145</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;">The accompanying notes are an integral part of these consolidated financial statements<span style="color:#00b050;">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'Times New Roman','Times','serif';line-height:0pt;margin:0pt;"><span style="color:#00b050;font-size:0pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">44</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:8%;padding-right:8%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_56fbadd1_3722_4157_8597_3acd40fd9030"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt;">CONSOLIDATED WATER CO.&#160;LTD.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUI"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt;">CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#8217;&#160;EQUITY</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="_b10d8990_8b60_4238_bdcf_9bec5eb4007c"></a><a id="Tc_B7zSR03Yx0OIQjT8uoRWhg_1_2"></a><a id="Tc_z-zaGvnplU6qIjZcUkkqMg_1_12"></a><a id="Tc_aMKbr9Uv9EWZFGQZAXI6Nw_1_21"></a><a id="Tc_mMinvCA8HEWmtvywlYAgZA_2_2"></a><a id="Tc_k4kTeG9H2EeELuuNRuvQNg_2_7"></a><a id="Tc_0nPLtMEyfUSDUg4KTj8baw_2_12"></a><a id="Tc_6l3iQ5n_DUCexc51XfVmSg_2_15"></a><a id="Tc_Zfe8AioWIUOfsjKvH1wbOQ_2_18"></a><a id="Tc_Vj9_KOrj60C4HznejSX4-g_2_21"></a><a id="Tc_SZVQV6DjNEWcLJiS1fRoiQ_3_2"></a><a id="Tc_cDarAs3e2EGjEALoEUT55A_3_4"></a><a id="Tc_oT4f-Cy-JEyAtOCkWm8t-w_3_7"></a><a id="Tc_o8djlT_D1kqsuM23n_Up6Q_3_9"></a><a id="Tc_nRb_MNZVQ0eLXpTRXcpyKg_3_12"></a><a id="Tc_WQmN4ySFqUKrLFGmKPY7uQ_3_15"></a><a id="Tc_fWWwwAEz_Eao-Ua4LWWIsA_3_18"></a><a id="Tc_lBW5Dn8VlE-mSlp_eQUEbQ_3_21"></a><a id="Tc_S2CKPCG19ECDg4Ds_oMiHA_4_0"></a><a id="Tc_mjmweOhQSEK1Kjz4D3FIXg_4_4"></a><a id="Tc_UcvWnY9YREiQBD5gtHousw_4_9"></a><a id="Tc_NssAbb4q9EyJcVzDD4RhGw_4_12"></a><a id="Tc_gm6LpRgX7kaiXAVOIYEU1w_4_15"></a><a id="Tc_wML2qP9cHUmS2ii-Kx1Egw_4_18"></a><a id="Tc_yR4RNwalvEOeSCXbLPqgRA_4_21"></a><a id="Tc_XuKecWGP60qdpK1XXUA0PQ_5_0"></a><a id="Tc_x3D5AUxjXU2rPu3Ef6CwFA_6_0"></a><a id="Tc_kPvIvgybEkmrPbWxWKTAmQ_7_0"></a><a id="Tc_6IvLlAHGGkiwXbgEpAoNcQ_8_0"></a><a id="Tc_NjUihY5CikKMcz0oNaBIrw_9_0"></a><a id="Tc_cticuLtX40aTAbArndQVeg_10_0"></a><a id="Tc_cpfuZaZXHEyxT2uqBLuTpg_11_0"></a><a id="Tc_waFbKNOT_k-xehE7OlMGIA_12_0"></a><a id="Tc_cpB8cln5eU6HnG_aSUbpTQ_13_0"></a><a id="Tc_GcUx-CYmVUq0gXbbsjfzxw_14_0"></a><a id="Tc_E1ceq1GcmkmcKDZAGoIGUg_15_0"></a><a id="Tc_RaBFBa6xJkmC-nF9rogc9Q_16_0"></a><a id="Tc_GzrR9EXIl0Gwr_NquGtfJA_17_0"></a><a id="Tc_8BSQDPeVkEWpShL_ZIMDmQ_18_0"></a><a id="Tc_cLc8ML61JESKf5KUtqr4qw_19_0"></a><a id="Tc_asEo4HmLKEO-nllcuZQjDQ_20_0"></a><a id="Tc_Ge_OXLkmP0SVESNfl7R-hw_20_4"></a><a id="Tc_DEdkD9Jd7k2Pw9XDPqShVQ_20_9"></a><a id="Tc_wzEENqVFUkevpdDhNYVrHQ_20_12"></a><a id="Tc_MJ6RpkP5g0u4r8Ape2Uliw_20_15"></a><a id="Tc_9TIwfg_XmE--RV7ifEc2IQ_20_18"></a><a id="Tc_gmCtHBI65UmiEXTpdJZgng_20_21"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:27.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Redeemable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Additional</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">preferred&#160;stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Common&#160;stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">paid-in</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Retained</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Non-controlling</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">stockholders&#8217;</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Dollars</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Dollars</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">capital</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">earnings</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">interests</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">equity</b></p></td></tr><tr><td style="vertical-align:top;width:27.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Balance as of December&#160;31,&#160;2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2020_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_-tneCKrH1kGaOJDN-8HjkA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="0" id="Tc_2CsPMfNqA0Ovjg_Lma9cOg_4_2">31,068</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2020_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_-tneCKrH1kGaOJDN-8HjkA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_7RyaBsRJxESjVsH3BaUp7Q_4_5">18,641</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_3HKYTqvya0ymy8WxbSHR_A" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="0" id="Tc_oSVIHtJoLUyv3nFgnijFbw_4_7">15,143,683</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_3HKYTqvya0ymy8WxbSHR_A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_0_-38mZXeUSMqB_5rL9OjA_4_10">9,086,210</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_upiEpremuE-xQKoZZfeJog" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_stlpnN8YsUWJl9Vfl9XNBw_4_13">86,893,486</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_npc_G5l0Gk2HnaD5NWvfww" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_Humw-T5NYEG2YZb_DauGew_4_16">64,910,709</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_hL37mlRu9EWYYOlxr22q_A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_ntyM_p4FG06RrMfGrCb5Ow_4_19">8,103,503</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2020_C1Q_2pxGgEajIBJo0wB9rQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_EfKTfZuKtk-QuOLRLu9NqQ_4_22">169,012,549</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:27.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Issuance of share capital</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" scale="0" id="Tc_EzsCxy9ZXEGQblgX3psVOQ_5_2">8,632</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="0" id="Tc_5OAcnN3ndUuDQu8uLbDKNg_5_5">5,179</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" scale="0" id="Tc_sFtQnRClWk-d-o6o_ESVIA_5_7">88,488</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="0" id="Tc_cs3u530l_UiWDzSc2OgwPA_5_10">53,093</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_2UsxKjkbU0ikVBMMDThnkA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" sign="-" scale="0" id="Tc_WIZ838rfH0ivlrxHq3hgFg_5_13">58,272</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_I2OmzWVSNkSCzqLm30ZhFQ" decimals="0" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="0" id="Tc_zKxXnRfJckGGiMo-9W_xtw_5_16">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QJOC8_YvekSx3jYgssHhsg" decimals="0" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="0" id="Tc_TKopn-u9-EympO1q7r2Jow_5_19">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="0" id="Tc_K48IYIuNRkGr-kPaSpdihw_5_22">&#8212;</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:27.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Conversion of preferred stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" sign="-" scale="0" id="Tc_HvVwZ-Rx7EafCGJeHnxTTQ_6_2">11,522</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" sign="-" scale="0" id="Tc_r-B3bgs43UGSt7hEIPbIZg_6_5">6,913</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" scale="0" id="Tc_O1v3XLwptkmXDB24LDLIFQ_6_7">11,522</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" scale="0" id="Tc_0vRrTPGLjUiTP36XU41RXg_6_10">6,913</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_2UsxKjkbU0ikVBMMDThnkA" decimals="0" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" scale="0" id="Tc_lp2Vh6dxF0SJ9BlcPjh5ew_6_13">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_I2OmzWVSNkSCzqLm30ZhFQ" decimals="0" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" scale="0" id="Tc_ov7oRcnCU0-JJEDFB4PtkQ_6_16">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QJOC8_YvekSx3jYgssHhsg" decimals="0" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" scale="0" id="Tc_J_RFSGhEEEOAmWCj4Y5rjQ_6_19">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" scale="0" id="Tc_vxgYk2sC5UWm25LLBLVvkw_6_22">&#8212;</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:27.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Buyback of preferred stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRedeemedOrCalledDuringPeriodShares" scale="0" id="Tc_IWnzEKvdf068XyRfuYYAFQ_7_2">1,649</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockRedeemedOrCalledDuringPeriodValue" scale="0" id="Tc_KAgdlJiDg0GiicYVcwe5nQ_7_5">989</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA" decimals="INF" format="ixt:zerodash" name="us-gaap:StockRedeemedOrCalledDuringPeriodShares" scale="0" id="Tc_banumun7H0CsDO5NUEhQsw_7_7">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA" decimals="0" format="ixt:zerodash" name="us-gaap:StockRedeemedOrCalledDuringPeriodValue" scale="0" id="Tc_cgxYm8D8X0C8_hZz39maVA_7_10">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_2UsxKjkbU0ikVBMMDThnkA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockRedeemedOrCalledDuringPeriodValue" scale="0" id="Tc_4gtAAmQ--0qLffTyeUkK_w_7_13">15,810</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_I2OmzWVSNkSCzqLm30ZhFQ" decimals="0" format="ixt:zerodash" name="us-gaap:StockRedeemedOrCalledDuringPeriodValue" scale="0" id="Tc_WS5Qyp77M0mLiVOAAbJu7w_7_16">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QJOC8_YvekSx3jYgssHhsg" decimals="0" format="ixt:zerodash" name="us-gaap:StockRedeemedOrCalledDuringPeriodValue" scale="0" id="Tc_RQHOuBnoRUWpWKYD0vQc3w_7_19">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockRedeemedOrCalledDuringPeriodValue" scale="0" id="Tc_sstUTe1aIUaQ3y09b20qeg_7_22">16,799</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:27.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw" decimals="INF" format="ixt:zerodash" name="us-gaap:ProfitLoss" scale="0" id="Tc_0ljsE56ho0SELRuJ83jwXg_8_2">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw" decimals="0" format="ixt:zerodash" name="us-gaap:ProfitLoss" scale="0" id="Tc_bSIJo8ul_kCWjqk8NiIzfw_8_5">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA" decimals="INF" format="ixt:zerodash" name="us-gaap:ProfitLoss" scale="0" id="Tc_50GYbWEVYk6GcJguE-Oyng_8_7">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA" decimals="0" format="ixt:zerodash" name="us-gaap:ProfitLoss" scale="0" id="Tc_SKMbIqV7RUi4EEWnCEllmA_8_10">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_2UsxKjkbU0ikVBMMDThnkA" decimals="0" format="ixt:zerodash" name="us-gaap:ProfitLoss" scale="0" id="Tc_xvS2Q3z0KkmP6J6HuHb4bw_8_13">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_I2OmzWVSNkSCzqLm30ZhFQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="0" id="Tc_zwtRuELxWUeGm0sBM7eKRA_8_16">875,579</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QJOC8_YvekSx3jYgssHhsg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="0" id="Tc_p7Mios8XT0KTXSpv6IdrWw_8_19">632,915</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="0" id="Tc_1i3N3JF240GNVGrW4EKuug_8_22">1,508,494</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:27.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Exercise of options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_Gbj-xKbXrkmlU33yoOZHeA_9_2">2,106</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="0" id="Tc_M9OmsPiQb0-1UUZdVPlcdw_9_5">1,263</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA" decimals="INF" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_UqpIjFg3bUORz_fJcUyDUg_9_7">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA" decimals="0" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="0" id="Tc_WUIGwClIq0-s1ygjX-Rf2w_9_10">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_2UsxKjkbU0ikVBMMDThnkA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="0" id="Tc_0Ywanggkok2f5urjHp29Hg_9_13">15,796</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_I2OmzWVSNkSCzqLm30ZhFQ" decimals="0" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="0" id="Tc_kQ9TkAVSsk2QiM2ey3yjOw_9_16">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QJOC8_YvekSx3jYgssHhsg" decimals="0" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="0" id="Tc_ag3K_lp70EqnEBeNoDqkQw_9_19">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="0" id="Tc_O-syDEuqFkGz4DNkkWgrqA_9_22">17,059</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:27.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Dividends declared</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw" decimals="INF" format="ixt:zerodash" name="us-gaap:DividendsCash" scale="0" id="Tc_Ec7Lr1-ugUW0F81yH7qJIA_10_2">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw" decimals="0" format="ixt:zerodash" name="us-gaap:DividendsCash" scale="0" id="Tc_7mibc_BlCUSkiULka7hrLA_10_5">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA" decimals="INF" format="ixt:zerodash" name="us-gaap:DividendsCash" scale="0" id="Tc_npJcQNInm06tOUrhEFyGLQ_10_7">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA" decimals="0" format="ixt:zerodash" name="us-gaap:DividendsCash" scale="0" id="Tc_dn0ZNtIcJUS78cFtXN-C0Q_10_10">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_2UsxKjkbU0ikVBMMDThnkA" decimals="0" format="ixt:zerodash" name="us-gaap:DividendsCash" scale="0" id="Tc__GwiDkWpHU6LN8GthPin1w_10_13">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_I2OmzWVSNkSCzqLm30ZhFQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DividendsCash" scale="0" id="Tc_LER9QgcsDEmWbTG6nCCtMg_10_16">5,183,232</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QJOC8_YvekSx3jYgssHhsg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DividendsCash" scale="0" id="Tc_RtTlj1OtFUyKI3X7RMEE_Q_10_19">649,880</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DividendsCash" scale="0" id="Tc_uPC5_tO4sUut3hxKIJ0a8Q_10_22">5,833,112</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:27.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw" decimals="INF" format="ixt:zerodash" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="0" id="Tc_-WPaLreAMUe87asZdv54aQ_11_2">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw" decimals="0" format="ixt:zerodash" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="0" id="Tc_DukbcZ1yFUez4QUyhUHf-g_11_5">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA" decimals="INF" format="ixt:zerodash" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="0" id="Tc_XU38K2RCM0y0AEh8VGLyEw_11_7">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA" decimals="0" format="ixt:zerodash" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="0" id="Tc_hz_E8p_AHUihnU9IH46LWw_11_10">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_2UsxKjkbU0ikVBMMDThnkA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="0" id="Tc_YpdTIWdy60uLVrrJpNcE7w_11_13">977,232</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_I2OmzWVSNkSCzqLm30ZhFQ" decimals="0" format="ixt:zerodash" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="0" id="Tc_CG6tUJSfikaGUoU6jOTHOA_11_16">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QJOC8_YvekSx3jYgssHhsg" decimals="0" format="ixt:zerodash" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="0" id="Tc_MrYMviCQm0OYKsru6U6aoA_11_19">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="0" id="Tc_3wWsexl_l0WVs-jd3Z3fAg_11_22">977,232</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:27.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Balance as of December&#160;31,&#160;2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_J6J75thyq06qykW7F5TwWw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="0" id="Tc_vxN-WqvNvU2Ep4Mi0LYVQw_12_2">28,635</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_J6J75thyq06qykW7F5TwWw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_ZlMxryIKTEKQXCjtvJLQYg_12_5">17,181</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_3zS89l0s00S1RPfi4v04Bw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="0" id="Tc_n8sLVuzqhE6WvWNf5xJsqQ_12_7">15,243,693</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_3zS89l0s00S1RPfi4v04Bw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_zmAjsNR_706LAmg22PrDeQ_12_10">9,146,216</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Yff6h3QjVEa8xnGdDclZdQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_GGXRXNevRE2EeDPEyx2W_g_12_13">87,812,432</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_NE1AbW1U0UeKPG1EhuZDcw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_CTvnm5xoXkOEKBlUW1aG4Q_12_16">60,603,056</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_rVMUroAZQEKpn1M2U6Ow0g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_lSfx2X1hx0araGLAYTZi9Q_12_19">8,086,538</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_NweKOlPsLUORp-Nv0i3l9Q_12_22">165,665,423</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:27.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Issuance of share capital</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" scale="0" id="Tc_zElJqqsdQkWWxlxo-VGwJQ_13_2">9,295</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="0" id="Tc_chQsUpmxZU-qTn-BuvtQuQ_13_5">5,577</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" scale="0" id="Tc_BXfDAKVFCEe6GQevb2XOww_13_7">72,597</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="0" id="Tc_ws36xwc9xUykTOH4Lgub9A_13_10">43,558</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_sVZM8sptB060CYkSHWHWRA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" sign="-" scale="0" id="Tc_U2p32UpdJEKGZxOaOMoZ9Q_13_13">49,135</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_CoTYfknnZkWQ6jcDlAa32g" decimals="0" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="0" id="Tc_ETzwVuBBy06j9_gweDL4dw_13_16">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_8L9TdyjAwUmKrhFBWu0n3A" decimals="0" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="0" id="Tc_wfLm0Ly1nU-9O5S1IRV8SA_13_19">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="0" id="Tc_QHl3ea-dK0-lojUGR3c8ow_13_22">&#8212;</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:27.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Conversion of preferred stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" sign="-" scale="0" id="Tc_OxXyNtiGXkupf7DZiVGydg_14_2">6,585</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" sign="-" scale="0" id="Tc_RzkzNlYJCUC_KLt_7HGgIw_14_5">3,951</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" scale="0" id="Tc_wBzy-rzUBUS_10DJcpmg7A_14_7">6,585</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" scale="0" id="Tc_ddEzM4tE5U2PEI4uou9rxg_14_10">3,951</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_sVZM8sptB060CYkSHWHWRA" decimals="0" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" scale="0" id="Tc_kAFjA-KjkkiXj36pqstKJw_14_13">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_CoTYfknnZkWQ6jcDlAa32g" decimals="0" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" scale="0" id="Tc_tIJt2ATajUyn4aP0Z8CPkg_14_16">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_8L9TdyjAwUmKrhFBWu0n3A" decimals="0" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" scale="0" id="Tc_m8E3HjMIoU2UYkQ7-O5cMw_14_19">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" scale="0" id="Tc_etaY1D3ljkWkD3n3wJ1yzQ_14_22">&#8212;</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:27.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Buyback of preferred stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRedeemedOrCalledDuringPeriodShares" scale="0" id="Tc_3fw6IBydEUqdRlwCbHsb7g_15_2">26</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockRedeemedOrCalledDuringPeriodValue" scale="0" id="Tc_ZyQ3QMwqHEaAS85tvQ0YfQ_15_5">15</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ" decimals="INF" format="ixt:zerodash" name="us-gaap:StockRedeemedOrCalledDuringPeriodShares" scale="0" id="Tc_m4WGFKWWW0iXmNZn6-quJA_15_7">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ" decimals="0" format="ixt:zerodash" name="us-gaap:StockRedeemedOrCalledDuringPeriodValue" scale="0" id="Tc_Olr25DfhGka4AvviW-u8lg_15_10">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_sVZM8sptB060CYkSHWHWRA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockRedeemedOrCalledDuringPeriodValue" scale="0" id="Tc_EAWjvByKQ0GQpNTMBW5EJg_15_13">211</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_CoTYfknnZkWQ6jcDlAa32g" decimals="0" format="ixt:zerodash" name="us-gaap:StockRedeemedOrCalledDuringPeriodValue" scale="0" id="Tc_1N8Vhxw6u0yatTgAzpzgJg_15_16">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_8L9TdyjAwUmKrhFBWu0n3A" decimals="0" format="ixt:zerodash" name="us-gaap:StockRedeemedOrCalledDuringPeriodValue" scale="0" id="Tc_dZLbArOm6kGeIJd70-rIjg_15_19">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockRedeemedOrCalledDuringPeriodValue" scale="0" id="Tc_JjBhE9E7h0qC6RnC0b6agA_15_22">226</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:27.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg" decimals="INF" format="ixt:zerodash" name="us-gaap:ProfitLoss" scale="0" id="Tc_4FeXjTs8m0qB6b2N62NtFg_16_2">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg" decimals="0" format="ixt:zerodash" name="us-gaap:ProfitLoss" scale="0" id="Tc_VsuI7I2MpU6yT5_wDLnYMA_16_5">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ" decimals="INF" format="ixt:zerodash" name="us-gaap:ProfitLoss" scale="0" id="Tc_3vH3Oe71cESoQdPKGFHKQw_16_7">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ" decimals="0" format="ixt:zerodash" name="us-gaap:ProfitLoss" scale="0" id="Tc_oBtMomcdY0uqMp0S6uIW1A_16_10">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_sVZM8sptB060CYkSHWHWRA" decimals="0" format="ixt:zerodash" name="us-gaap:ProfitLoss" scale="0" id="Tc_kwHlli5420OihDOKPhMyWg_16_13">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_CoTYfknnZkWQ6jcDlAa32g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="0" id="Tc_RzL2J9eA_E6QOCW8XMqQtQ_16_16">5,856,294</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_8L9TdyjAwUmKrhFBWu0n3A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="0" id="Tc_Z1Hnq6tjh0OddSn8pDIwlQ_16_19">1,112,913</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="0" id="Tc_7EOq6P3QoEmszFwURKzH5Q_16_22">6,969,207</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:27.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Exercise of options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_6iPpuL1erUCfOYy8W0GOYA_17_2">3,064</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="0" id="Tc_1a18U1KnC0G6s3BIlVV9Ng_17_5">1,838</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ" decimals="INF" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_1exLbbn0xEeXQxeUZbpN6Q_17_7">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ" decimals="0" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="0" id="Tc_3n9BObf170aCwRFb6yBynw_17_10">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_sVZM8sptB060CYkSHWHWRA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="0" id="Tc_Sg4Das8aDkyhXZkxIZE4fw_17_13">24,901</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_CoTYfknnZkWQ6jcDlAa32g" decimals="0" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="0" id="Tc_UHzPquNFLUSrC8HWojfxTQ_17_16">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_8L9TdyjAwUmKrhFBWu0n3A" decimals="0" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="0" id="Tc_v8lc9WE6dEW0lqXPAEN7aA_17_19">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="0" id="Tc_vjf06u4i50Ky_Ksc0jjJKQ_17_22">26,739</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:27.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Dividends declared</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg" decimals="INF" format="ixt:zerodash" name="us-gaap:DividendsCash" scale="0" id="Tc_tfXzFoevvEC-nxunHCkXeQ_18_2">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg" decimals="0" format="ixt:zerodash" name="us-gaap:DividendsCash" scale="0" id="Tc_ws3cSHP4q0Ob-OaZYLM43g_18_5">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ" decimals="INF" format="ixt:zerodash" name="us-gaap:DividendsCash" scale="0" id="Tc_M9bPUFzHm0SFrhZMwkTzCQ_18_7">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ" decimals="0" format="ixt:zerodash" name="us-gaap:DividendsCash" scale="0" id="Tc_wuCRnfTvckmKxFzMAwQIyA_18_10">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_sVZM8sptB060CYkSHWHWRA" decimals="0" format="ixt:zerodash" name="us-gaap:DividendsCash" scale="0" id="Tc_NZmItxXTBkSbGvmFABWv1w_18_13">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_CoTYfknnZkWQ6jcDlAa32g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DividendsCash" scale="0" id="Tc_UQE-v0vrUkKE4EAWVXdZsw_18_16">5,211,651</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_8L9TdyjAwUmKrhFBWu0n3A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DividendsCash" scale="0" id="Tc_JLsVSH_jp0GmYkToiuVQtg_18_19">1,102,475</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DividendsCash" scale="0" id="Tc_Aae5L4IXx0KRaqOK6iZeOQ_18_22">6,314,126</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:27.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg" decimals="INF" format="ixt:zerodash" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="0" id="Tc_gmRTLkjSfEmorhkk6J8Flg_19_2">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg" decimals="0" format="ixt:zerodash" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="0" id="Tc_wEGw9j6yJE2wNWF8gR2xyA_19_5">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ" decimals="INF" format="ixt:zerodash" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="0" id="Tc_7JMqiK992ECoNvfzCAh2gg_19_7">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ" decimals="0" format="ixt:zerodash" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="0" id="Tc_jeVGGqEU20CDELygBaUP_w_19_10">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_sVZM8sptB060CYkSHWHWRA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="0" id="Tc_T-JkrMKXwESj1-vIHaIMVA_19_13">1,417,172</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_CoTYfknnZkWQ6jcDlAa32g" decimals="0" format="ixt:zerodash" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="0" id="Tc_TpvnVEarP0yEXbvjCsYv9w_19_16">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_8L9TdyjAwUmKrhFBWu0n3A" decimals="0" format="ixt:zerodash" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="0" id="Tc_Uumfko8F40iQvMGhbeZbrg_19_19">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="0" id="Tc_EG5mmfzNxkG_EVkmXtyzmA_19_22">1,417,172</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:27.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Balance as of December&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_sBcY1Btx90SbkhJ3vi2W-A" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="0" id="Tc_E0zlWCzw9UqfSvWZhNRqBw_20_2">34,383</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_sBcY1Btx90SbkhJ3vi2W-A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_hgB8Dvm34EK5glJLiA0ScA_20_5">20,630</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_2NH0HbQNxU6mJ19nM52FFQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="0" id="Tc_DSgMvfD2pUqczoZNwNA95g_20_7">15,322,875</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_2NH0HbQNxU6mJ19nM52FFQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_bpZPBdQ4OEih_gzUlatyLA_20_10">9,193,725</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_lwQBd0ht_UyOaipQ5wIuzA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_Dvx0y8inckyyZwNEjVl6KQ_20_13">89,205,159</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_aMyjne3ank2zdlEWi_TxwA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_mzf2SA4Mh0CwMrTdtZLsfQ_20_16">61,247,699</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_CBOsmqEgOkK9j884bTYxMw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_mTtuSWZAxEWrImib0Ibspg_20_19">8,096,976</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_ClCJ48aNhk21cmfQoz97Jg_20_22">167,764,189</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;">The accompanying notes are an integral part of these consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'Times New Roman','Times','serif';line-height:0pt;margin:0pt;"><span style="color:#00b050;font-size:0pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">45</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:84%;border:0;margin:30pt 8% 30pt 8%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_5360f8a5_8191_46dd_9f90_9632475c10ac"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt;">CONSOLIDATED WATER CO.&#160;LTD.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="CONSOLIDATEDSTATEMENTSOFCASHFLOWS_826826"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt;">CONSOLIDATED STATEMENTS OF CASH FLOWS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="_8ede5963_26b9_4df6_af29_e69abe9b151f"></a><a id="Tc_mcJE1vzRlE6Je1v9h10_tQ_1_2"></a><a id="Tc_dUMgxiKhzEygtlqhjKoHNw_2_2"></a><a id="Tc_53UnbVuwjUas0MwO9zun6A_2_5"></a><a id="Tc_Kbzz-xCrvU2cvy4bzSlCkg_3_0"></a><a id="Tc_2b6GVd-HsE-Ir26bFWnckA_4_0"></a><a id="Tc_LLDClg1lNEKL6NSb_kh92g_4_2"></a><a id="Tc_MgySy8M91UChyzTWnDEULg_4_5"></a><a id="Tc_O06NdQOoEUOQLhSoh1okmg_5_0"></a><a id="Tc_f7OpWUaTJUySQH1Y3cq5Jg_6_0"></a><a id="Tc_GEP1QMnUskWYwbxyG_xC6w_7_0"></a><a id="Tc_pakZQH93WUajIMNYuRi8gQ_8_0"></a><a id="Tc_rUtea6eBa0q7P2CSNlu-Lg_9_0"></a><a id="Tc_N8Vk-iKHMkGb8OMIQ_4hIQ_9_3"></a><a id="Tc_yQkUbo4ETEOMjpenmb1dJA_10_0"></a><a id="Tc_5hBFI7L7NUe_anibcSEiNg_11_0"></a><a id="Tc_wtV_qVSy00GCtuxytfM30A_12_0"></a><a id="Tc_21zl6rnvLESGC6p4XKr5rA_13_0"></a><a id="Tc_Q-8LN0M7CkKnr6MKdzZqiA_14_0"></a><a id="Tc_DTCgKyz92E-_0OlXVdrOlg_15_0"></a><a id="Tc_u334YNbypEuSca0tqvjYnw_16_0"></a><a id="Tc_lIQsdpXMy0-YhZG0DJrT5Q_17_0"></a><a id="Tc_5WD-_PCkxESaqUfnR91HEQ_18_0"></a><a id="Tc_3-27VzrIGUu1UzVnKfChzg_19_0"></a><a id="Tc_L3a9XoDQYEGu5GxxShoJ2A_19_3"></a><a id="Tc_U02ZWnNceEeWH4qsuqLr5Q_21_0"></a><a id="Tc_5j8rwXgxvEOduGRgDnyChA_22_0"></a><a id="Tc_RNWPfVgJlEaVDLfYRSNJzA_23_0"></a><a id="Tc_jhY-3vZPk0Csp0fE17ctGg_24_0"></a><a id="Tc_16MtQ0L3RUSSO0cdmS7x6A_25_0"></a><a id="Tc_o36edc9v10qiSpPo4Uch7g_26_0"></a><a id="Tc_ZsRGMRtJekKAuBth-v3GWw_27_0"></a><a id="Tc_T3kCB_NzcE2QqQyykhsT_A_28_0"></a><a id="Tc_gRHw6nkvAECfHpzRZpySSA_29_0"></a><a id="Tc_UWqJH2Dop0Ov4_MEAzKovw_30_0"></a><a id="Tc_30FpvlWsb0aeb75LdN-I_A_31_0"></a><a id="Tc_ROczzvW5cEaAn5Fzr7IwVA_33_0"></a><a id="Tc_YQY-1GYrvkOM8MAXSnc75g_34_0"></a><a id="Tc_Y4R4bOlBU0qBObbpq7v9Mw_35_0"></a><a id="Tc_eNdIo4JGSk-6UlY5G2upyw_35_6"></a><a id="Tc_TJZkjfK1skqIqFlKKn25RQ_36_0"></a><a id="Tc_M08Gbeqx80iAmEVx0W7YHg_37_0"></a><a id="Tc_-jsranlCkE-cB2dUlmQr1w_38_0"></a><a id="Tc_M7ftpcHT2k24CXoteAW75g_40_0"></a><a id="Tc_5AmCpRJVj02h43qAp_WLSQ_41_0"></a><a id="Tc_WwDFUsNKlkOozTCcy1FBwg_42_0"></a><a id="Tc_YzChg_SEwUq4qhZSVrVgEA_43_0"></a><a id="Tc_V8hLbqwb_Ua5ZfLzYxE6TA_44_0"></a><a id="Tc_WYD5CpPIHUmfmg6uAlJwug_45_0"></a><a id="Tc_YWdZu9GxQ0yTJTkGrg2x-Q_46_0"></a><a id="Tc_v1djVHrNP0mbRCY2seId5Q_47_0"></a><a id="Tc_JEUgebZT10m_ivPmBL5Tww_48_0"></a><a id="Tc_N_vnDPYVZUS5W8ORkLopSQ_49_0"></a><a id="Tc_WD0ZDfEvlkyLAwKrQaUV8w_50_0"></a><a id="Tc_rCiZnjMBkkqZfoYHbO3ybQ_51_0"></a><a id="Tc_AeuDCj87mkaNyUcauDd0CA_52_0"></a><a id="Tc_gQ9eOG6rTkyiPHp1y1RgKw_52_2"></a><a id="Tc_AUhTQAGrM0a2fqlovng0sg_52_5"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cash flows from operating activities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Net income attributable to Consolidated Water Co. Ltd. stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="0" id="Tc_HpHX38UIi0q1R41eTo0CgA_4_3">5,856,294</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="0" id="Tc_iKZGR_bXq0ODdto7y6kQYA_4_6">875,579</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Income from continuing operations attributable to non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="0" id="Tc_6TkMqPZpb0GpdP6RI1kuwg_5_3">1,112,913</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="0" id="Tc_5bcKxuE_VEmm0wwDa1JgaA_5_6">632,915</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net income</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="0" id="Tc_sax1c7w1G0qfFn7OZRnEiQ_6_3">6,969,207</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="0" id="Tc_GeQKf3on5U259cdT0st0fw_6_6">1,508,494</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Adjustments to reconcile net income to net cash provided by operating activities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Impairment loss for Mexico assets - discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="cwco:DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment" scale="0" id="Tc_OwsA0ZQh5EiPMrt10qs0sw_8_3">377,326</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="cwco:DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment" scale="0" id="Tc_qtuvdLeK2k-Z0amNtyWgQg_8_6">963,540</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Depreciation and amortization - discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DepreciationAndAmortizationDiscontinuedOperations" scale="0" id="Tc_tqdOzWiKzk6NQmQ7UsnGKg_9_6">4,545</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency transaction adjustment - discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses" scale="0" id="Tc_PDp6iMNZb06QJ60RehI3rQ_10_3">102,507</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses" sign="-" scale="0" id="Tc_izC1ph1Uu06X2jTMVqTHdA_10_6">53,039</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Loss from discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupNotDiscontinuedOperationGainLossOnDisposal" sign="-" scale="0" id="Tc_soXuXjPu4UWeYh4LNruQ2A_11_3">2,096,230</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupNotDiscontinuedOperationGainLossOnDisposal" sign="-" scale="0" id="Tc_LkDiMNmnb0WdaW3BfgodAQ_11_6">1,552,955</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DepreciationAndAmortization" scale="0" id="Tc_ltDD_oQx-kGBjhnomrJFlA_12_3">6,187,308</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DepreciationAndAmortization" scale="0" id="Tc_Sn2If5ktkku5S1FbrbrjIg_12_6">6,921,233</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income tax benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="0" id="Tc_TVHA9q5e-UqC6ojKhCZnBg_13_3">4,220</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="0" id="Tc_-h6W19ttEUi66XaCjZ938Q_13_6">649,531</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Loss (gain) on net put/call option</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" sign="-" scale="0" id="Tc_CxfEz_h9W0aYEaM7IfwEEg_14_3">128,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" scale="0" id="Tc_jKbYtjjhdEeVkWKvehFIDw_14_6">818,000</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Compensation expense relating to stock and stock option grants</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="0" id="Tc_U_bqb36Zukq0MFt9iCgCaQ_15_3">1,417,172</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="0" id="Tc_7j7yPevPQUGtafsowKpHSg_15_6">977,232</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Loss on asset dispositions and impairments, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GainLossOnDispositionOfAssets1" sign="-" scale="0" id="Tc_AL3X8D5QqUStRtEONr-cbQ_16_3">12,704</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GainLossOnDispositionOfAssets1" sign="-" scale="0" id="Tc_6Kbq9Fl1VEivn-5-Vk0ctQ_16_6">245,836</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Profit-sharing and equity in earnings of OC-BVI</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="cwco:IncomeLossFromEquityMethodInvestmentsAndSubsidiaries" scale="0" id="Tc_kUOv9eaqD0K9wqyqY_OZCQ_17_3">102,225</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="cwco:IncomeLossFromEquityMethodInvestmentsAndSubsidiaries" scale="0" id="Tc__wgAP8_pcECGqiTcGOl8Rg_17_6">78,259</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Distribution of earnings from OC-BVI</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentDividendsOrDistributions" scale="0" id="Tc_NwSbd2GjWEWhoCdN0liuYQ_18_3">272,700</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentDividendsOrDistributions" scale="0" id="Tc_X3zHsPky3kS-a9paJeLFZA_18_6">454,500</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Impairment of goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GoodwillImpairmentLoss" scale="0" id="Tc_vCoYUF-yU0yhlG5wnwYITg_19_6">2,900,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Change in:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Accounts receivable and contract assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="cwco:IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset" scale="0" id="Tc_QCBzr-DxPk2itQcWKQPAFg_22_3">2,120,636</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="cwco:IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset" scale="0" id="Tc_613FwHo8p0u42Zwsv_v5qA_22_6">5,878,771</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Inventory</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInInventories" scale="0" id="Tc_c5BSv9H2XkK8FQ1CgtCN4w_23_3">3,387,011</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInInventories" sign="-" scale="0" id="Tc_TM-SXJGmIkCS6vyflVvLBg_23_6">293,254</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid expenses and other assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="0" id="Tc_Tc4AfTYp9kupENr53WS6jw_24_3">3,365,747</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="0" id="Tc_9-cqJDIlD06c1xyy0Ur4nw_24_6">266,170</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Accounts payable (including related parties), accrued expenses and other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="cwco:IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities" scale="0" id="Tc_BU_a97pQR0OSZu1WgnkRJA_25_3">6,756,433</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="cwco:IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities" sign="-" scale="0" id="Tc_bMseEAPdpkeM6DFcWkiYOw_25_6">164,606</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Contract liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="cwco:IncreaseDecreaseInContractLiability" scale="0" id="Tc_dT3-JFDflUC5aFWEQfjWiw_26_3">8,290,043</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="cwco:IncreaseDecreaseInContractLiability" scale="0" id="Tc_15IMMggaMkK6EkESit_njw_26_6">52,008</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOperatingLiabilities" sign="-" scale="0" id="Tc_fBB-s9CEvkeCHYqrC73NYw_27_3">5,208</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOperatingLiabilities" scale="0" id="Tc_XOY9rHdSiEaRJeePofNqig_27_6">48,593</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Deferred revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDeferredRevenue" sign="-" scale="0" id="Tc_fq0e28ZDbEKql1lOXVgXxw_28_3">267,821</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDeferredRevenue" scale="0" id="Tc_Y2oMP2LR5USVdnNSUQiMdQ_28_6">467,710</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net cash provided by operating activities - continuing operations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations" scale="0" id="Tc_Y1wpjVw8JU6nJqfbnhaQvg_29_3">23,151,748</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations" scale="0" id="Tc_qb3h2WjSWkWd5QWm_tzang_29_6">8,587,602</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net cash used in operating activities - discontinued operations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations" sign="-" scale="0" id="Tc_xwCB0ISkn0GLMi7e_IEeAg_30_3">1,819,943</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations" sign="-" scale="0" id="Tc_dsW6O6WLYEOIX5B1uUq6dg_30_6">1,621,292</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net cash provided by operating activities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="0" id="Tc_O6d_S4r8pEWfDdyqnpUciw_31_3">21,331,805</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="0" id="Tc_zTnjZIpEOE-OHOvKVGbf8Q_31_6">6,966,310</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cash flows from investing activities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Purchase of certificate of deposit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="cwco:PaymentsToAcquireCertificatesOfDeposit" scale="0" id="Tc_VMMrDBWCM0yNygKSjoL5-w_34_3">2,518,493</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="cwco:PaymentsToAcquireCertificatesOfDeposit" scale="0" id="Tc_enFsKDov40aV_eYOZQS7hg_34_6">2,500,000</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Maturity of certificate(s) of deposit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities" scale="0" id="Tc_DbvnZi3oLEGVv4bsvBbhRA_35_3">5,018,493</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Additions to property, plant and equipment and construction in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="0" id="Tc_yPlrUuQeDkuPq_0Ee4ikZw_36_3">7,542,761</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="0" id="Tc_ZMH3m2HL702GFtEHxug2Fw_36_6">1,490,012</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Proceeds from asset dispositions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="0" id="Tc_iONjVD1bqE6nMA2DXjLZ8Q_37_3">61,725</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="0" id="Tc_Yz67CTXzSkKev1OE_cP-fg_37_6">45,560</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net cash used in investing activities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="0" id="Tc_SdLTt9sqpUWp6tiaJ_kfoQ_38_3">4,981,036</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="0" id="Tc_jYH5WJKmBkmQCdwHFPnvrw_38_6">3,944,452</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cash flows from financing activities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Dividends paid to common shareholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PaymentsOfDividendsCommonStock" scale="0" id="Tc_mtWvPompW0uV0gRQ4KFjag_41_3">5,145,742</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PaymentsOfDividendsCommonStock" scale="0" id="Tc_RyBdoOu1S0mLwev3ONe8uQ_41_6">5,151,667</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Dividends paid to preferred shareholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PaymentsOfDividendsPreferredStockAndPreferenceStock" scale="0" id="Tc_0LzDTUVjWUSrEgPUY4OpXQ_42_3">11,078</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PaymentsOfDividendsPreferredStockAndPreferenceStock" scale="0" id="Tc_JOmR84tLeUaF1jTVO91tMQ_42_6">649,880</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Dividends paid to non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PaymentsToMinorityShareholders" scale="0" id="Tc_sHnTXkpfC0K6CTqVgZLITw_43_3">1,102,475</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PaymentsToMinorityShareholders" scale="0" id="Tc_rpzwNh9lSECnvJNVWH0Crg_43_6">11,015</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Buyback of redeemable preferred stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromRepurchaseOfRedeemablePreferredStock" sign="-" scale="0" id="Tc_hWSnuLko00W7qU6u1T6T2Q_44_3">226</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromRepurchaseOfRedeemablePreferredStock" sign="-" scale="0" id="Tc_7m3t9BUiqkaN48sTkdYu6A_44_6">16,799</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Proceeds received from exercise of stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="0" id="Tc_8j7lKkHvG02w6M86VBDonw_45_3">26,739</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="0" id="Tc_E3-ejs2D70eLSL0QM-CF4w_45_6">17,059</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Principal repayments on long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfLongTermDebt" scale="0" id="Tc_vf57-UHZE0iPhqZ1PExY1A_46_3">72,091</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfLongTermDebt" scale="0" id="Tc_631YMhyUKEidFmyjjiCoqA_46_6">49,729</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net cash used in financing activities </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" sign="-" scale="0" id="Tc_f3SUlnavZUGhhd1rlPkC2w_47_3">6,304,873</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" sign="-" scale="0" id="Tc_al7JFYBKW0qar4pR1YQy0A_47_6">5,862,031</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net increase (decrease) in cash and cash equivalents</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" scale="0" id="Tc_iek3q38110ycF4_BzGS5lw_48_3">10,045,896</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" sign="-" scale="0" id="Tc_AqAwpD0_vUO2sZ3rV2QF-A_48_6">2,840,173</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cash and cash equivalents at beginning of period</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="0" id="Tc_YPuNTxt1QUODA-wrmdc7fg_49_3">40,358,059</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2020_C1Q_2pxGgEajIBJo0wB9rQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="0" id="Tc_TyRvkRlAn0SurkCLHGtbxw_49_6">43,794,150</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cash and cash equivalents at beginning of period - discontinued operations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="0" id="Tc_ndOUw-fX8kaf9cNC4NCsyg_50_3">750,048</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2020_C1Q_2pxGgEajIBJo0wB9rQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="0" id="Tc_X1zzvVsSEEmQNSzPEALyig_50_6">154,130</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Less: cash and cash equivalents at end of period - discontinued operations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="0" id="Tc_KpLax2BjtEqNChDaU3rSFA_51_3">442,252</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="0" id="Tc_pkFMPEPP6ECpNPgPLnVQmw_51_6">750,048</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cash and cash equivalents at end of period</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="0" id="Tc_I4JLCc_DnkK-3bKb8cEGGg_52_3">50,711,751</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="0" id="Tc_u81x1rCeAUebVSCXD4de9A_52_6">40,358,059</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">The accompanying notes are an integral part of these consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">46</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">CONSOLIDATED WATER CO.&#160;LTD.</p><a id="NOTESTOCONSOLIDATEDFINANCIALSTATEMENTS_2"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">NOTES&#160;TO CONSOLIDATED FINANCIAL STATEMENTS</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:NatureOfOperations" id="Tb_GApQGj8CK0agYLgnyAX-_Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">1. Principal activity</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Consolidated Water Co. Ltd. and its subsidiaries (collectively, the &#8220;Company&#8221;) supply potable water, treat wastewater and water for reuse, and provide water-related products and services to customers in the Cayman Islands, The Bahamas, the United States and the British Virgin Islands. The Company produces potable water from seawater using reverse osmosis technology and sells this water to a variety of customers, including public utilities, commercial and tourist properties, residential properties and government facilities. The Company designs, builds and sells water production and water treatment infrastructure and manages water infrastructure for commercial and governmental customers. The Company also manufactures a wide range of specialized and custom water industry related products and provides design, engineering, operating and other services applicable to commercial, municipal and industrial water production, supply and treatment.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:SignificantAccountingPoliciesTextBlock" id="Tb_Dk_xzZ_miUC9kFDrDPDFtQ" continuedAt="Tb_Dk_xzZ_miUC9kFDrDPDFtQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">2. Accounting policies</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" id="Tb_QFe3QjlTu0Wmii2A1Jr0rw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Basis of preparation:</b> The consolidated financial statements presented are prepared in accordance with the accounting principles generally accepted in the United States of America.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:UseOfEstimates" id="Tb_8lo0GG0Vs0OzxQ4AgWzxDQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Use of estimates:</b> The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenue and expenses during the reporting period. Significant items subject to estimates and assumptions include the carrying value of property, plant and equipment, intangible assets, goodwill and revenue recognition on construction and manufacturing contracts. Actual results could differ significantly from such estimates.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:ConsolidationPolicyTextBlock" id="Tb_yJox8ZnK7E2b600LYIse-g" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Basis of consolidation:</b> The accompanying consolidated financial statements include the accounts of the Company&#8217;s (i)&#160;wholly-owned subsidiaries, Aerex Industries,&#160;Inc. (&#8220;Aerex&#8221;), Aquilex,&#160;Inc. (&#8220;Aquilex&#8221;), Cayman Water Company Limited (&#8220;Cayman Water&#8221;), Ocean Conversion (Cayman) Limited (&#8220;OC-Cayman&#8221;), DesalCo Limited (&#8220;DesalCo&#8221;), Consolidated Water Cooperatief, U.A. (&#8220;CW-Cooperatief&#8221;), Consolidated Water U.S. Holdings,&#160;Inc. (&#8220;CW-Holdings&#8221;); and (ii)&#160;majority-owned subsidiaries Consolidated Water (Bahamas)&#160;Ltd. (&#8220;CW-Bahamas&#8221;), N.S.C. Agua, S.A. de C.V. (&#8220;NSC&#8221;), Aguas de Rosarito S.A.P.I. de C.V. (&#8220;AdR&#8221;), and PERC Water Corporation (&quot;PERC&quot;). The Company&#8217;s investment in its affiliate Ocean Conversion (BVI)&#160;Ltd. (&#8220;OC-BVI&#8221;) is accounted for using the equity method of accounting. All significant intercompany balances and transactions have been eliminated in consolidation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">On January 4, 2023, as a result of CW-Holdings&#39; exercise of a call option in October 2022, CW-Holdings purchased the remaining&#160;</span><span style="background:#ffffff;"><ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="As_Of_1_4_2023_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember__4drtsrZXESsUSyeQaBULg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired" scale="-2" id="Narr_-pIsKznsgkWMIyTUehVfrg">39</ix:nonFraction>%</span><span style="background:#ffffff;"> ownership interest in PERC for </span><span style="background:#ffffff;">$<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_4_2023_To_1_4_2023_srt_OwnershipAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_UxDkQZ43KEKIN7Oj-2FtIw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationConsiderationTransferred1" scale="6" id="Narr_dU81zW7V8UiELUXvO3M0Vw">2.4</ix:nonFraction></span><span style="background:#ffffff;"> million&#160;in cash and </span><span style="background:#ffffff;"><ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_4_2023_To_1_4_2023_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_yOgK1SLiHkOOenJfWHS0YA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" scale="0" id="Narr_Tkw1_afLwkiRhYrKEsG0aQ">368,383</ix:nonFraction></span><span style="background:#ffffff;"> shares of the Company&#8217;s common stock. After giving effect to this purchase, CW-Holdings owns&#160;</span><span style="background:#ffffff;"><ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="As_Of_1_4_2023_srt_OwnershipAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_5JH0iRvD3EWeoHNXQ5FD9g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_z641I59UIkeUfmZXlfZ4EQ">100</ix:nonFraction>%</span><span style="background:#ffffff;"> of the outstanding capital stock of PERC.</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" id="Tb_CH_MFVn4OEuLpN096lVv1g" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Foreign currency:</b>&#160;The Company&#8217;s reporting currency is the United States dollar (&#8220;US$&#8221;). The functional currency of the Company and its foreign operating subsidiaries (other than NSC, AdR and CW-Cooperatief) is the currency for each respective country. The functional currency for NSC, AdR and CW-Cooperatief is the US$. NSC and AdR conduct business in US$ and Mexican pesos and CW-Cooperatief conducts business in US$ and euros. The exchange rates for the Cayman Islands dollar and the Bahamian dollar are fixed to the US$. The exchange rates for conversion of Mexican pesos and euros into US$ vary based upon market conditions. Net foreign currency gains arising from transactions and re-measurements were $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" scale="0" id="Narr_N5PSX9o5XkaWicqMdpQj3A">41,750</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" scale="0" id="Narr_Z8rYrKJim069lZv6L6PpKg">32,594</ix:nonFraction> for the&#160;years ended December&#160;31, 2022 and 2021, respectively, and are included in &#8220;Other income (expense)&#160;- Other&#8221; in the accompanying consolidated statements of income.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:CashAndCashEquivalentsPolicyTextBlock" id="Tb_DGYxl8CjIEezPLyzU5xzgA" continuedAt="Tb_DGYxl8CjIEezPLyzU5xzgA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Cash and cash equivalents:</b> Cash and cash equivalents consist of demand deposits at banks and certificates of deposit at banks with an original maturity of three&#160;months or less. Cash and cash equivalents as of December&#160;31, 2022 and 2021 </p></ix:nonNumeric></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">47</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_Dk_xzZ_miUC9kFDrDPDFtQ_cont1" continuedAt="Tb_Dk_xzZ_miUC9kFDrDPDFtQ_cont2"><ix:continuation id="Tb_DGYxl8CjIEezPLyzU5xzgA_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">include $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_CashAndCashEquivalentsAxis_us-gaap_CertificatesOfDepositMember_w-26Mh_Jl0ODGylH5Bbo-Q" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CashEquivalentsAtCarryingValue" scale="6" id="Narr_y8ZbYI3d0E2CqsydWHOTSg">5.0</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_CashAndCashEquivalentsAxis_us-gaap_CertificatesOfDepositMember_hlxQMQYPNkypuuFEVTJm0Q" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CashEquivalentsAtCarryingValue" scale="6" id="Narr_ysyJf_YssUuEN_qRuVT6YQ">7.4</ix:nonFraction> million, respectively, of certificates of deposit with an original maturity of three&#160;months or less.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of December&#160;31, 2022, the Company had deposits in U.S. banks in excess of federally insured limits of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CashUninsuredAmount" scale="6" id="Narr_5mJpEtR-jUynu_7Y9PLHpg">12.5</ix:nonFraction> million. As of December&#160;31, 2022, the Company held cash in foreign bank accounts of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="-5" format="ixt:numdotdecimal" name="cwco:CashAndRestrictedCashEquivalentsHeldInForeignBank" scale="6" id="Narr_NJtzQkwVrEuQNHjCS4vB1w">36.6</ix:nonFraction> million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Certain transfers from the Company&#8217;s Bahamas bank accounts to Company bank accounts in other countries require the approval of the Central Bank of The Bahamas. The equivalent United States dollar cash balances for deposits held in The Bahamas as of December&#160;31, 2022 and 2021 were approximately $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="-5" format="ixt:numdotdecimal" name="cwco:DepositsHeldInForeignBank" scale="6" id="Narr_zr3lSty4tkqqfsUuoZJ4lQ">5.7</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="-5" format="ixt:numdotdecimal" name="cwco:DepositsHeldInForeignBank" scale="6" id="Narr_A4T9_qJP3UC2w80ut0ySXg">3.9</ix:nonFraction> million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Certificate of deposit:</b> As of December 31, 2022 and 2021, the Company held a certificate of deposit in The Bahamas with an original maturity of six months in the amount of <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_BS_us-gaap_CashAndCashEquivalentsAxis_us-gaap_CertificatesOfDepositMember_0Z6rk_q0Okujdj5GX5uvJA" decimals="-5" format="ixt-sec:numwordsen" name="us-gaap:CashEquivalentsAtCarryingValue" scale="6" id="Narr_KTEorOIy8UuPItr1go6yEQ">zero</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_BS_us-gaap_CashAndCashEquivalentsAxis_us-gaap_CertificatesOfDepositMember_8rUdYW5GDUGAiZfRLOOF2A" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CashEquivalentsAtCarryingValue" scale="6" id="Narr_s47IqMKh6k-sHaw3_QIHgQ">2.5</ix:nonFraction> million, respectively.</p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:TradeAndOtherAccountsReceivablePolicy" id="Tb_dD0JN1lBS0S1ijHIeXgtzA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Accounts receivable and allowance for doubtful accounts:</b> Accounts receivable are recorded at invoiced amounts based on meter readings, contractual amounts, fixed fees plus reimbursables or time and materials per contractual agreements. <span style="background:#ffffff;">Trade accounts receivable also represent our unconditional right, subject only to the passage of time, to receive consideration arising from our performance under contracts with customers. Trade accounts receivable include amounts billed and billable on construction contracts, service and maintenance contracts and contracts for the sale of goods. Billed contract receivables have been invoiced to customers based on contracted amounts. </span>The allowance for doubtful accounts is the Company&#8217;s best estimate of the amount of probable credit losses in the Company&#8217;s existing accounts receivable balance. The Company determines the allowance for doubtful accounts based on historical write-off experience and&#160;monthly review of delinquent accounts. Past due balances are reviewed individually for collectability. Account balances are charged off against the allowance for doubtful accounts after all means of collection have been exhausted and the potential for recovery is considered by management to be remote.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:InventoryPolicyTextBlock" id="Tb_axzoTMS38EaIrpLKlbQQBQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Inventory:</b> Inventory primarily consists of raw materials purchased for specific manufacturing contracts that are valued at cost on the first-in, first-out basis. Inventory also includes (i) consumables stock and spare parts stock that are valued at cost, less an allowance for obsolescence, with cost determined on the first-in, first-out basis; and (ii) potable water held in the Company&#8217;s reservoirs that is valued at the lower of the average cost of producing water during the&#160;year or its net realizable value.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock" id="Tb_SZRfBPBMu0m09kM7BzVbTg" continuedAt="Tb_SZRfBPBMu0m09kM7BzVbTg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;background:#ffffff;">Contract assets and liabilities:</b><span style="background:#ffffff;"> Billing practices for the Company&#8217;s contracts are governed by the contract terms of each project based upon costs incurred, achievement of milestones or predetermined schedules. Billings do not necessarily correlate with revenue, which is recognized over time using the direct inputs method of accounting. </span>The Company records contract assets and contract liabilities to account for these differences in timing.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:12.0pt;text-align:justify;margin:0pt;">Contract assets, which include costs and estimated earnings in excess of billings on uncompleted contracts, arise when the Company recognizes revenue for services performed under its construction and manufacturing contracts, but the Company is not yet entitled to bill the customer under the terms of the contract. Contract liabilities, which include billings in excess of costs and estimated earnings on uncompleted contracts, represent the Company&#39;s obligation to transfer goods or services to a customer for which the Company has been paid by the customer or for which the Company has billed the customer under the terms of the contract. Revenue for future services reflected in this account is recognized, and the liability is reduced, as the Company subsequently satisfies the performance obligation under the contract.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:12.0pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Costs and estimated earnings in excess of billings on uncompleted contracts and billings in excess of costs and estimated earnings on uncompleted contracts are typically resolved within one year and are not <span style="background:#ffffff;">considered</span> significant financing components.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The Company considers retention that is withheld on progress billings as not creating an unconditional right to payment until contractual milestones are reached (typically substantial completion). Accordingly, withheld retention is considered a component of contracts assets and liabilities until finally billed to the customer, when obligations have been satisfied and the right to receipt is subject only to the passage of time.</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">48</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_1hzvCFah-E-PjyIQs3y0zQ_1_0"></a><a id="Tc_VPLVT8adaUa6XHmW_hgmlw_1_2"></a><a id="Tc_A3pz7adZAUWq6YyoZqrkwg_2_0"></a><a id="Tc_WYBE9ZznEkq8UqE_6Qx3vw_2_2"></a><a id="Tc_e2PAo7_6OEWwc-LYEaS7og_3_0"></a><a id="Tc_zDTyhkCVTE6TaDNi5YbqFA_3_2"></a><a id="Tc_t5BgTrNoiEu6riuRKV_n6Q_4_0"></a><a id="Tc_FJbLb3g5zUy_-H9rGtGsaQ_4_2"></a><a id="Tc_n64ynLNNBkyaHyB1FwabBg_5_0"></a><a id="Tc_RZxIMlp_zEuae-YVRsMYsw_5_2"></a><a id="Tc_P_8bbaMgk0-SlR1NsY_e2g_6_0"></a><a id="Tc_ssRyzVQjSEa95npf1tvr3w_7_0"></a><a id="Tc_7oZoNwcFB0qk4L-8PV_ifg_7_2"></a><a id="_Hlk126070650"></a><ix:continuation id="Tb_Dk_xzZ_miUC9kFDrDPDFtQ_cont2" continuedAt="Tb_Dk_xzZ_miUC9kFDrDPDFtQ_cont3"><ix:continuation id="Tb_SZRfBPBMu0m09kM7BzVbTg_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The Company&#8217;s contract assets and liabilities are reported in a net asset or liability position on a contract-by-contract basis at the end of each reporting period. The Company classifies contract assets and liabilities related to construction and manufacturing contracts in current assets and current liabilities as they will be liquidated in the normal course of contract completion, although this may require more than one year.</span></p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" id="Tb_S60lvdrCIkCqwir9Y_JOcg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Property, plant and equipment, net:</b> Property, plant and equipment is stated at cost less accumulated depreciation. Depreciation is calculated using a straight-line method with an allowance for estimated residual values. Rates are determined based on the estimated useful lives of the assets as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="cwco:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" id="Group_lnEUznlRFEefcROw3giGVA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Buildings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_Em3nfjzlyUiOsxJ6aR_9TQ" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_t9fArVfEuECE5B8knwdABQ">5</ix:nonNumeric> to <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_CrRhqVKpokSFVglsF_8dyw" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_kmn0sh220E2xuooElCZUOQ">40 years</ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_PlantAndEquipmentMember_Qil96oGDl0qWbByqsXAADA" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_N3NUfsu2dUuvauU4wYHlXg">4</ix:nonNumeric> to <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_PlantAndEquipmentMember_FjX_9MaEwEGsQIjmNL3JaA" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_rr_KWNQCgE-2mNrnsMcjaA">40 years</ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Distribution system</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_DistributionSystemsMember_PNci2u4eqkyApssLolKcaQ" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_DylwfYlxK0mdW95jEQ54ZA">3</ix:nonNumeric> to <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_DistributionSystemsMember_rKTwVQ67QUSsFaSM1Zsv9Q" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_k7tfdnU6o0aeuArE3OnPAw">40 years</ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Office furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_4gvcaCV6aE-mIKHXLi0oSQ" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_7AmOZ-VIvku9k-bSKXX-5g">3</ix:nonNumeric> to <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_UjybnyBM_0eHUN7wuvYzxw" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_9ryVEI5gaEC2rq81cmOR6g">10 years</ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vehicles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_uF3oC7vwEUmjNVP-o-PC7w" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_Ncgw787jA0-8-lH-vfPDzA">3</ix:nonNumeric> to <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_w8PCy4tBzU2eNLFJw7Ja3w" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_6TCw_ZixCEWsE2k7fvYE_A">10 years</ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_8DqshODSZUmg5Cds-Qvpbw" name="us-gaap:PropertyPlantAndEquipmentEstimatedUsefulLives" id="Tc_aaQU4rPkLk-aXk_4QIsjyQ_6_2">Shorter of 5 years or lease term</ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Lab equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_LabEquipmentMember_5KH2J5dfSU-DHtl0XB3YmQ" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_rcMFpq5CZE-M0mlM2cUYCg">5</ix:nonNumeric> to <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_LabEquipmentMember_L-PZFWVK7UKJJGq1RJmH1g" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_lnyDGt_loEWi4dgHNcQIag">10 years</ix:nonNumeric></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Assets under construction are recorded as additions to property, plant and equipment upon completion of the projects. Depreciation commences in the&#160;month the asset is placed in service. Additions to construction in progress are comprised of the cost of the contracted services, direct labor and materials.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Interest costs directly attributable to the acquisition and construction of qualifying assets, which are assets that necessarily take a substantial amount of time to be ready for their intended use, are added to the cost of those assets until such time as the assets are substantially ready for use. <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt-sec:numwordsen" name="us-gaap:InterestCostsCapitalized" scale="0" id="Narr_p-ExntPaQUmurrxDG91TGA"><ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt-sec:numwordsen" name="us-gaap:InterestCostsCapitalized" scale="0" id="Narr_P2qc0llCD0Ka7zfwz1REIA">No</ix:nonFraction></ix:nonFraction> interest was capitalized during the years ended December 31, 2022 or 2021.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" id="Tb_HW0YLs6qpkuskd0hIrf0dA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Long-lived assets:</b> Long-lived assets are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of the assets might not be recoverable. Conditions that would necessitate an impairment assessment include a significant decline in the observable market value of an asset, a significant change in the extent or manner in which an asset is used, or a significant adverse change that would indicate that the carrying amount of an asset or group of assets is not recoverable. For long-lived assets to be held and used, the Company recognizes an impairment loss only if their carrying amounts are not recoverable through their undiscounted cash flows and measures the impairment loss based on the difference between the carrying amounts and estimated fair values.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock" id="Tb_1thMS2p1406s7GWOxzECaQ" continuedAt="Tb_1thMS2p1406s7GWOxzECaQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Goodwill and intangible assets:</b> Goodwill represents the excess cost of an acquired business over the fair value of the assets and liabilities of the acquired business. Goodwill and intangible assets acquired in a business combination and determined to have an indefinite useful life are not amortized but are tested for impairment annually or upon the identification of a triggering event. Intangible assets with estimable useful lives are amortized over their respective estimated useful lives to their estimated residual values and reviewed periodically for impairment. The Company evaluates the possible impairment of goodwill annually as part of its reporting process for the fourth quarter of each fiscal&#160;year. Management identifies the Company&#8217;s reporting units for goodwill impairment testing purposes, which consist of Cayman Water, the bulk segment (which is comprised of CW-Bahamas and OC-Cayman), PERC, and the manufacturing segment (i.e., Aerex), and determines the carrying value of each reporting unit by assigning the assets and liabilities, including the existing goodwill and intangible assets, to those reporting units. The Company determines the fair value of each reporting unit and compares these fair value to the carrying amount of the reporting units. To the extent the carrying amount of the reporting unit exceeds the fair value of the reporting unit, an impairment loss is recorded.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">For the&#160;year ended December&#160;31, 2021, the Company estimated the fair value of its reporting units by applying the discounted cash flow method, which relied upon seven-year discrete projections of operating results, working capital and capital expenditures, along with a terminal value subsequent to the discrete period. These seven-year projections were based upon historical and anticipated future results, general economic and market conditions, and considered the impact of planned business and operational strategies. The discount rates for the calculations represented the estimated cost of capital for market participants at the time of each analysis.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">49</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_Dk_xzZ_miUC9kFDrDPDFtQ_cont3" continuedAt="Tb_Dk_xzZ_miUC9kFDrDPDFtQ_cont4"><ix:continuation id="Tb_1thMS2p1406s7GWOxzECaQ_cont1" continuedAt="Tb_1thMS2p1406s7GWOxzECaQ_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company also estimated the fair value of each of its reporting units for the year ended December 31, 2021 by applying the guideline public company method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company weighted the fair values estimated for each of its reporting units under each method and summed such weighted fair values to estimate the overall fair value for each reporting unit. The respective weightings the Company applied to each method for the year ended December&#160;31, 2021 were <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2021_To_12_31_2021_cwco_FairValueDeterminingMethodAxis_cwco_DiscountedCashFlowMethodMember_S9l0DYfIFEGZh49BRV-2wQ" decimals="2" format="ixt:numdotdecimal" name="cwco:EstimatedFairValuePercentageSegmentReportingInformation" scale="-2" id="Narr_HJj7C3LmfUeSE_yRskuUVQ">80</ix:nonFraction>% to the discounted cash flow method and <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2021_To_12_31_2021_cwco_FairValueDeterminingMethodAxis_cwco_GuidelinePublicCompanyMethodMember_JU9dvwDmDUKF9tdpPFKbLw" decimals="2" format="ixt:numdotdecimal" name="cwco:EstimatedFairValuePercentageSegmentReportingInformation" scale="-2" id="Narr_fuXlog8XbU6h4e2Z9L6Rww">20</ix:nonFraction>% to the guideline public company method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-style:italic;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The fair values the Company estimated for its Cayman Water, bulk segment, PERC, and manufacturing segment reporting units exceeded their carrying amounts by <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2vl2R6GlI06abktd3rVnpQ" decimals="0" format="ixt:numdotdecimal" name="cwco:EstimatedFairValueCarryingAmountExceededPercentage" scale="0" id="Narr_ubvpP9HHDkKeRJWMyW2wBw">32</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_354kqbefw0aUK7SVE131BQ" decimals="0" format="ixt:numdotdecimal" name="cwco:EstimatedFairValueCarryingAmountExceededPercentage" scale="0" id="Narr_9ELfLxwpw02hrrUKI6uULg">51</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_6gOn62bGkUyBNtALONgh0Q" decimals="0" format="ixt:numdotdecimal" name="cwco:EstimatedFairValueCarryingAmountExceededPercentage" scale="0" id="Narr_eUrkwQVMo0O0QKcjvnv-xg">15</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_HNPzq4QEk02hzXW6t4ppyg" decimals="0" format="ixt:numdotdecimal" name="cwco:EstimatedFairValueCarryingAmountExceededPercentage" scale="0" id="Narr_6ig8_yxFnEWcLvEB2_gp9A">15</ix:nonFraction>% respectively, as of December 31, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">For the year ended December 31, 2022, the Company elected to assess qualitative factors to determine whether it was necessary to perform the quantitative goodwill impairment testing conducted in prior years for all goodwill reporting units other than the manufacturing reporting unit. The Company assessed relevant events and circumstances to evaluate whether it is more likely than not that the fair values of such reporting units are less than their carrying values. The events and circumstances assessed for each unit included macroeconomic conditions, industry and market conditions, cost factors, overall financial performance, and other relevant events. Based upon this qualitative assessment the Company determined that it was more likely than not that the fair values of its Cayman Water and bulk segment reporting units exceeded their carrying values as of December 31, 2022. Based upon the Company&#8217;s negotiated, arms-length purchase of the remaining <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="As_Of_1_4_2023_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_M9Tj3LyaM0eIw-2WpzSUOw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired" scale="-2" id="Narr_sm7gMIZvskaxUbvpWwpWsg">39</ix:nonFraction>% equity interest in PERC from its minority shareholders for $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_4_2023_To_1_4_2023_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_nxzepvPzM0KtcDwK9rOS1g" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationConsiderationTransferred1" scale="6" id="Narr_JeIjrnrpDUebS9gbPP-acQ">7.8</ix:nonFraction> million in January 2023, the fair value of the Company&#8217;s PERC reporting unit exceeded its carrying value by 79% as of December 31, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Due to the factors discussed in the following paragraphs, the Company elected to test the goodwill associated with its manufacturing reporting unit for possible impairment using the quantitative tests applied in prior years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In connection with its acquisition of Aerex in 2016, the Company recorded goodwill of $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2016_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_qMEBcGGIgUm7wdekuaQQmg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="0" id="Narr_EaRPRrU9f0a5KPmunUwlVQ">8,035,211</ix:nonFraction>. Aerex&#8217;s actual results of operations for 2016 fell significantly short of the projected results that were included in the cash flow projections the Company utilized to determine the purchase price for Aerex and the fair values of its assets and liabilities. Due to this shortfall in Aerex&#8217;s results of operations, the Company tested its manufacturing reporting unit&#8217;s goodwill for possible impairment and recorded an impairment loss of $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2016_To_12_31_2016_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_uWxQ9n9Tckunz21IObTwrQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GoodwillImpairmentLoss" scale="0" id="Narr_1jKmTUJ51UegvXHPUPLofQ">1,750,000</ix:nonFraction> in 2016. As part of its annual impairment testing of goodwill performed during the fourth quarter, in 2017 the Company updated its projections for Aerex&#8217;s future cash flows, determined that the carrying value of its manufacturing reporting unit exceeded its fair value, and recorded an impairment loss of $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_Xq0O_aVBCEi8yhG6kjD16g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GoodwillImpairmentLoss" scale="0" id="Narr_Lgxg0v3RUkOeXdXshmaUlw">1,400,000</ix:nonFraction> for December&#160;31, 2017 to further reduce the carrying value of the manufacturing segment goodwill to $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2017_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_LpiTapxNU06_IQvMX1-U3g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="0" id="Narr_jMMny_fpKE-mg4DTPpvqAg">4,885,211</ix:nonFraction>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#8203;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">Approximately <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_cXdBb_NVyEyv0R-Mp02DsA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_maG6A7jNm0KUjU-OFY7fzQ">80</ix:nonFraction>% of Aerex&#8217;s revenue, and <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_GrossProfitMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_1STKPf6TiUeVe3wSNKAiPg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_TRu5LErLr0eNEzNPRSONpw">89</ix:nonFraction>% of Aerex&#8217;s gross profit, for the year ended December 31,&#160;2020 were generated from sales to <ix:nonFraction unitRef="Unit_Standard_customer_I__u2hNVxESU-KAhCd2jdg" contextRef="As_Of_12_31_2020_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_Gl5483341kqHQU7d8i3CcQ" decimals="INF" format="ixt-sec:numwordsen" name="cwco:NumberOfCustomers" scale="0" id="Narr_qc0sH3sZqUK6NR-b2_-8yQ">one</ix:nonFraction> customer. While Aerex sells various products to this customer, Aerex&#8217;s revenue from this customer has historically been derived primarily from one specialized product. In October 2020, this customer informed Aerex that, for inventory management purposes, it was suspending its purchases of the specialized product from Aerex following 2020 for a period of approximately one year. This customer informed Aerex at that time that it expected to recommence its purchases of the specialized product from Aerex beginning with the first quarter of 2022. As a result of this anticipated loss of revenue for Aerex, the Company updated its projections for its Manufacturing reporting unit&#8217;s future cash flows. Such projections assumed, in part, that Aerex&#8217;s major customer would recommence its purchases from Aerex in 2022 but at a reduced aggregate amount, as compared to 2020. Based upon these updated projections, the Company tested its manufacturing reporting unit&#8217;s goodwill for possible impairment as of December 31, 2020 using the discounted cash flow and guideline public company methods, with a weighting of <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2020_To_12_31_2020_cwco_FairValueDeterminingMethodAxis_cwco_DiscountedCashFlowMethodMember_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_21QoIM_rokG9s_Bq4-iyzQ" decimals="2" format="ixt:numdotdecimal" name="cwco:EstimatedFairValuePercentageSegmentReportingInformation" scale="-2" id="Narr_u-NYXO2F4U2-0cG2vHhJHg">80</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2020_To_12_31_2020_cwco_FairValueDeterminingMethodAxis_cwco_GuidelinePublicCompanyMethodMember_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_MHHEvXRhcUGCYVTyKvHmIA" decimals="2" format="ixt:numdotdecimal" name="cwco:EstimatedFairValuePercentageSegmentReportingInformation" scale="-2" id="Narr_kzzThw5mH0yqQA2vD6a9qA">20</ix:nonFraction>% applied to these two methods, respectively. As a result of these impairment tests, the Company determined that the estimated fair value of its manufacturing reporting unit exceeded its carrying value by approximately <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_7IdFP3y9GUK4CqDwqwuYqA" decimals="0" format="ixt:numdotdecimal" name="cwco:EstimatedFairValueCarryingAmountExceededPercentage" scale="0" id="Narr_2Dw41MhDEES_0kUpTjcwsw">31</ix:nonFraction>% as of December 31, 2020.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In late July 2021, this former major customer communicated to Aerex that it expected to recommence its purchases of the specialized product from Aerex in 2022 and subsequent years, but informed Aerex that such purchases would be at substantially reduced annual amounts, as compared to the amounts it had purchased from Aerex in 2020 and prior years. The Company&#8217;s updated sales estimate for this customer based on this new information was substantially below the anticipated sales to this customer for 2022 and subsequent years that the Company used in the discounted cash flow </p></ix:continuation></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">50</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_Dk_xzZ_miUC9kFDrDPDFtQ_cont4" continuedAt="Tb_Dk_xzZ_miUC9kFDrDPDFtQ_cont5"><ix:continuation id="Tb_1thMS2p1406s7GWOxzECaQ_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">projections it prepared for purposes of testing its Manufacturing reporting unit&#8217;s goodwill for possible impairment as of December 31, 2020. Furthermore, Aerex&#8217;s efforts to replace the revenue previously generated from this customer with revenue from existing and new customers were adversely impacted by the negative economic conditions (caused in part by the COVID-19 pandemic). These negative economic conditions also increased Aerex&#8217;s raw material costs, resulted in raw material shortages and extended delivery times for such materials, and adversely affected the overall financial condition of Aerex&#8217;s current and prospective customers. Accordingly, in light of this new information from Aerex&#8217;s former major customer, and the on-going weak economic conditions that the Company believed would continue through 2022, the Company updated its projections of future cash flows for the manufacturing reporting unit and tested its goodwill for possible impairment as of June 30, 2021 using the discounted cash flow and guideline public company methods, with a weighting of <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_6_1_2021_To_6_30_2021_cwco_FairValueDeterminingMethodAxis_cwco_DiscountedCashFlowMethodMember_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_vwIK9Cj09Uaz5vGO9GKkMw" decimals="2" format="ixt:numdotdecimal" name="cwco:EstimatedFairValuePercentageSegmentReportingInformation" scale="-2" id="Narr_vVTOLJjvQU2eTpmiXFrShQ">80</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_6_1_2021_To_6_30_2021_cwco_FairValueDeterminingMethodAxis_cwco_GuidelinePublicCompanyMethodMember_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_QnWNYZr1aU2yBA8BoGe2yg" decimals="2" format="ixt:numdotdecimal" name="cwco:EstimatedFairValuePercentageSegmentReportingInformation" scale="-2" id="Narr_HxrVB4dEpkKu2lGQvhYy6A">20</ix:nonFraction>% applied to these two methods, respectively. Based upon this testing, the Company determined that the carrying value of its manufacturing reporting unit exceeded its fair value by $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_6_1_2021_To_6_30_2021_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_RTyQ1FjV0kqcpBL6Mq6EjQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:GoodwillImpairmentLoss" scale="6" id="Narr_LPB7SQYkWUiwo_mygjmLUg">2.9</ix:nonFraction> million, and the Company recorded an impairment loss to reduce its manufacturing segment&#8217;s goodwill by this amount for the three months ended June 30, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">For the year ended December&#160;31, 2022, the Company estimated the fair value of its manufacturing reporting unit by applying the discounted cash flow method, which relied upon seven-year discrete projections of operating results, working capital and capital expenditures, along with a terminal value subsequent to the discrete period. These seven-year projections were based upon historical and anticipated future results, general economic and market conditions, and considered the impact of planned business and operational strategies. The discount rates for the calculations represented the estimated cost of capital for market participants at the time of each analysis. The Company also estimated the fair value of its manufacturing reporting unit for the year ended December 31, 2022 by applying the guideline public company method. The Company weighted the fair values estimated for its manufacturing reporting unit under each method and summed such weighted fair values to estimate the overall fair value for the reporting unit. The respective weightings the Company applied to each method for the year ended December&#160;31, 2022 were <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2021_To_12_31_2021_cwco_FairValueDeterminingMethodAxis_cwco_DiscountedCashFlowMethodMember_S9l0DYfIFEGZh49BRV-2wQ" decimals="2" format="ixt:numdotdecimal" name="cwco:EstimatedFairValuePercentageSegmentReportingInformation" scale="-2" id="Narr_FWc8IqaCUEuXZWhqDfKRcA">80</ix:nonFraction>% to the discounted cash flow method and <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2021_To_12_31_2021_cwco_FairValueDeterminingMethodAxis_cwco_GuidelinePublicCompanyMethodMember_JU9dvwDmDUKF9tdpPFKbLw" decimals="2" format="ixt:numdotdecimal" name="cwco:EstimatedFairValuePercentageSegmentReportingInformation" scale="-2" id="Narr_CO87iZXONE658EQDcKgFRA">20</ix:nonFraction>% to the guideline public company method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The fair value the Company estimated for its manufacturing reporting unit exceeded its carrying amount by <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_YQxK6fXQiEq2dHsFaCDZRA" decimals="0" format="ixt:numdotdecimal" name="cwco:EstimatedFairValueCarryingAmountExceededPercentage" scale="0" id="Narr_piz8sJB_8Uy0ck51Lf1XxA">63</ix:nonFraction>% as of December&#160;31, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company believes the inherent uncertainties associated with the accounting estimates and assumptions it uses for its estimates of its manufacturing reporting unit&#8217;s fair value have increased due to the current, less predictable economic conditions, which have resulted in increasing raw material prices, extended and unexpected delays in the procurement and delivery of its raw materials, and have also, the Company believes, adversely affected its customers. Should interest rates rise significantly in the future the Company would likely be required to increase the discount rate it uses under the discounted cash flow method to estimate the fair value of this reporting unit, and such increased discount rate in and of itself could decrease the estimated fair value of the manufacturing reporting unit under the discounted cash flow method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">As noted previously, based upon its estimation prepared as of December 31, 2022, the fair value of the Company&#8217;s manufacturing reporting unit exceeded its carrying value by <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_YQxK6fXQiEq2dHsFaCDZRA" decimals="0" format="ixt:numdotdecimal" name="cwco:EstimatedFairValueCarryingAmountExceededPercentage" scale="0" id="Narr_k-PGR1_Bf0av9zPorOHlCg">63</ix:nonFraction>%. However, if the Company determines in the future that Aerex&#8217;s discounted future cash inflows will be less than its present expectations, the Company may be required to record additional impairment losses to reduce the remaining carrying values of its manufacturing segment&#8217;s goodwill and its remaining unamortized intangible assets balances, which amounted to $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_g2y86SHeUU6VaM8OOFTTQQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="0" id="Narr_jR9qag6b3k2hCmqgczHdGA">1,985,211</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_g2y86SHeUU6VaM8OOFTTQQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="0" id="Narr_HKiCHtmb0k6F-tznK9S-6g">754,444</ix:nonFraction>, respectively, as of December 31, 2022. Any such impairment losses could have a material adverse impact on the Company&#8217;s consolidated results of operations.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:InvestmentPolicyTextBlock" id="Tb_DTV0zT-MGEWpd3gQ8RFUAA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Investments:</b> <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="cwco:CriteriaForRecognizingInvestmentAtCost" id="Narr_wsa-pawNP0WVex-7rNULig">Investments where the Company does not exercise significant influence over the operating and financial policies of the investee and holds less than 20% of the voting stock are recorded at cost.</ix:nonNumeric> <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:EquityMethodInvestmentAdditionalInformation" id="Narr_tMTvGYCxK0OF_Lk3DEOxKg">The Company uses the equity method of accounting for investments in common stock where the Company holds 20% to 50% of the voting stock of the investee and has significant influence over its operating and financial policies but does not meet the criteria for consolidation.</ix:nonNumeric> The Company recognizes impairment losses on declines in the fair value of the stock of investees that are other than temporary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="cwco:OtherAssetsPolicyTextBlock" id="Tb_CL_oX8XYm0-THGNxu_VLNg" continuedAt="Tb_CL_oX8XYm0-THGNxu_VLNg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Other assets:</b> Under the terms of CW-Bahamas&#8217; contract with the Water and Sewerage Corporation of The Bahamas (&#8220;WSC&#8221;) to supply water from its Blue Hills desalination plant, CW-Bahamas was required to reduce the amount of water </p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">51</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_7ddec317_298f_4f14_a10b_718b87f6bada"></a><a id="Tc_F5PulSG-IUiufEb3A8zo_Q_1_2"></a><a id="Tc_QT5udkYKWEWjRVAl-l4uVw_2_2"></a><a id="Tc_zYZSOLP1_UiTLsCc1KXngA_2_5"></a><a id="Tc_LOGKYlq7tUqiHbasAF97Og_3_0"></a><a id="Tc_YGdHgyUurk6wTwd73jhwyg_3_2"></a><a id="Tc_z5X1ZBAmT0WWeJHNQmnnOA_3_5"></a><a id="Tc_nu2IIkFT5EmkQ9rKAvtzjg_4_0"></a><a id="Tc_VkL9zORMckafpvyytbd2kQ_5_0"></a><a id="Tc_F8bzKBi0RkKg2-TvsRS6nQ_6_0"></a><a id="Tc_r1YN6oQEUU6FSarXbP4ueQ_7_0"></a><a id="Tc_ddktuihouE-6e1D7rR-Hsw_7_2"></a><a id="Tc_fXWz6dn630aIBLgt2_yRsw_7_5"></a><a id="_Hlk99020587"></a><ix:continuation id="Tb_Dk_xzZ_miUC9kFDrDPDFtQ_cont5" continuedAt="Tb_Dk_xzZ_miUC9kFDrDPDFtQ_cont6"><ix:continuation id="Tb_CL_oX8XYm0-THGNxu_VLNg_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">lost by the public water distribution system on New Providence Island, The Bahamas, over a one-year period by <ix:nonFraction unitRef="Unit_Standard_gal_UpEjAnoTDkiUT8wjiEd8vw" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="-6" format="ixt:numdotdecimal" name="cwco:AmountRequiredToReduceAmountOfWaterLostByPublicWaterDistributionSystem" scale="6" id="Narr_E2DZYthqfUiTxZVQqYdwzg">438</ix:nonFraction> million gallons, a requirement CW-Bahamas met during 2007. The Company was solely responsible for the engineering, labor and materials costs incurred to reduce the amount of lost water, which were capitalized and are being amortized on a straight-line basis over the original remaining life of the Blue Hills contract. Such costs are included in other assets and aggregated approximately $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_CapitalizedEngineeringLaborAndMaterialsCostMember_ALWgIFPLZ0OhruLlg_Jtfw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OtherAssets" scale="6" id="Narr_A7P4RbnjJ0K8TowyVdVQMA"><ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_CapitalizedEngineeringLaborAndMaterialsCostMember_KZbKo2oHK0q9AusqI4_JuQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OtherAssets" scale="6" id="Narr_EWPp_tL2BU2byTyoIHQEaQ">3.5</ix:nonFraction></ix:nonFraction> million as of December&#160;31, 2022 and 2021. Accumulated amortization for these costs was approximately $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AccumulatedAmortizationOfOtherDeferredCosts" scale="6" id="Narr_4YiAvWpQK0Oin23ka-AzBg">2.9</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AccumulatedAmortizationOfOtherDeferredCosts" scale="6" id="Narr_Za3yV6rltkiExfLT5AE3tg">2.7</ix:nonFraction> million as of December&#160;31, 2022 and 2021, respectively. Amortization expense for these costs was $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OtherAmortizationOfDeferredCharges" scale="0" id="Narr_BjekFfQBSEeJQTcOhKHEuA"><ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OtherAmortizationOfDeferredCharges" scale="0" id="Narr_USU05RzjFketfAA2lMh73A">179,353</ix:nonFraction></ix:nonFraction> for the&#160;years ended December&#160;31, 2022 and 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:IncomeTaxPolicyTextBlock" id="Tb_jLiVqVk_K0eD_kKgjbaV5w" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Income taxes:</b> The Company accounts for the income taxes arising from the operations of its United States subsidiaries under the asset and liability method. Deferred tax assets and liabilities, if any, are recognized for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss and tax credit carryforwards. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the&#160;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 income in the period that includes the enactment date. A valuation allowance is provided to the extent any deferred tax asset may not be realized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company is not presently subject to income taxes in the other countries in which it operates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:RevenueRecognitionPolicyTextBlock" id="Tb_c2URQ7wAFkiEscW94VL0Eg" continuedAt="Tb_c2URQ7wAFkiEscW94VL0Eg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Revenue recognition:</b> Revenue is recognized when control of the promised goods or services is transferred to the Company&#8217;s customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those goods or services.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="Tb_ZAbnePLDm0-xBQji8iY_vQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The following table presents the Company&#8217;s revenue disaggregated by revenue source.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Retail revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_RetailRevenuesMember_JQ-ibT6FxUGrfvneRYbxHA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_SDHWAy6KUU6nLB7x7or3Mw_3_3">25,954,013</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_RetailRevenuesMember_Z_vR6-tG9ECKY6a-b8hUrA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_DPgeByWYqkmMYXbZZKN-eA_3_6">22,104,953</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Bulk revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkRevenuesMember_HRksc1ACyU-matZYrJz-GA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_cjILOzb_3EWMHASiHKsjlw_4_3">32,991,066</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkRevenuesMember_8No9bIx1Z02NFBj0vQVdEQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_kUKNhssC0ka6M7BVgA4LZA_4_6">26,800,869</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Services revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesRevenuesMember_ZrmTNwyW1025wAkuvps4Dg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_d_sLGnigwk6M0uXu5WKgDg_5_3">28,835,428</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesRevenuesMember_TEqoFvdKH0SxHTuQd6k5-g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_213H9mPVTEK9A0OCRpKS3A_5_6">13,884,857</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Manufacturing revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingRevenuesMember_L2hfymQ1t0iePOuBfVj1NA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_CrrVblWw40GGmDdYGY_aFg_6_3">6,324,465</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingRevenuesMember_MB4Uw3KolEaV_KC6kmFkYA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_HNDS9EZ0sUaYX7SponYoqA_6_6">4,072,823</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"><b style="font-weight:bold;">Total revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_LY9pL_dU8EezLxF-Sukcqg_7_3">94,104,972</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_9IHNDQ3xrUObyCJGnOvyTQ_7_6">66,863,502</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Retail revenue</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company produces and supplies water to end-users, including residential, commercial and governmental customers in the Cayman Islands under an exclusive retail license issued to Cayman Water by the Cayman Islands government to provide water in two of the three most populated areas on Grand Cayman Island. Customers are billed on a&#160;monthly basis based on metered consumption and bills are typically collected within <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_kEbnJUzLjE2FsIu-1h89WA" format="ixt-sec:durday" name="cwco:NumberOfDaysAfterConsumptionBillingsAreCollected" id="Narr_E3XBH5KBPkKtApnWpesKvg">30</ix:nonNumeric> to <span style="-sec-ix-hidden:Hidden_Mq4RJyVkUUicibqvX6HN6A;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">45&#160;days</span></span> after the billing date. Receivables not collected within <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" format="ixt-sec:durday" name="cwco:NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue" id="Narr_eOBCwHzDyUCY2OTWBC_4ig">45</ix:nonNumeric>&#160;days subject the customer to disconnection from water service.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company recognizes revenue from water sales at the time water is supplied to the customer&#8217;s premises. The amount of water supplied is determined and invoiced based upon water meter readings performed at the end of each&#160;month. All retail water contracts are&#160;month-to-month contracts. The Company has elected the &#8220;right to invoice&#8221; practical expedient for revenue recognition on its retail water sale contracts and recognizes revenue in the amount to which the Company has a right to invoice.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Bulk revenue</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company produces and supplies water to government-owned utilities in the Cayman Islands and The Bahamas.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">OC-Cayman provides bulk water to the Water Authority-Cayman (&#8220;WAC&#8221;), a government-owned utility and regulatory agency, under two agreements. The WAC in turn distributes such water to properties in Grand Cayman outside of Cayman Water&#8217;s retail license area.</p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">52</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_Dk_xzZ_miUC9kFDrDPDFtQ_cont6"><ix:continuation id="Tb_c2URQ7wAFkiEscW94VL0Eg_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company sells bulk water in The Bahamas through its majority-owned subsidiary, CW-Bahamas, under two agreements with the WSC, which distributes such water through its own pipeline system to residential, commercial and tourist properties on the Island of New Providence.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company has elected the &#8220;right to invoice&#8221; practical expedient for revenue recognition on its bulk water sale contracts and recognizes revenue in the amount to which the Company has a right to invoice.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Services and Manufacturing revenue</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company provides design, engineering, management, procurement and construction services for desalination infrastructure through DesalCo, which serves customers in the Cayman Islands, The Bahamas and the British Virgin Islands.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company also designs, builds, sells, operates and manages water, wastewater and water reuse infrastructure through PERC. All of PERC&#39;s customers are companies or governmental entities located in the U.S.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company, through Aerex, is a custom and specialty manufacturer of systems and products applicable to commercial, municipal and industrial water production and treatment. Substantially all of Aerex&#8217;s customers are U.S. companies.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company generates construction and services revenue from DesalCo and PERC and generates manufacturing revenue from Aerex.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company recognizes <span style="background:#ffffff;">revenue for its construction and custom/specialized manufacturing contracts&#160;</span>over time under the input method using costs incurred (which represents work performed) to date relative to total estimated costs at completion to measure progress toward satisfying a contract&#8217;s performance obligations as such measure best reflects the transfer of control of the promised good to the customer. Contract costs include labor, materials and amounts payable to subcontractors. The Company follows this method since it can make reasonably dependable estimates of the revenue and costs applicable to the various stages of a contract. Under this input method, the Company records revenue and recognizes profit or loss as work on the contract progresses. The Company estimates total project costs and profit to be earned on each long-term, fixed price contract prior to commencement of work on the contract and updates these estimates as work on the contract progresses. The cumulative amount of revenue recorded on a contract at a specified point in time is that&#160;percentage of total estimated revenue that incurred costs to date comprise of estimated total contract costs. If, as work progresses, the actual contract costs exceed estimates, the profit recognized on revenue from that contract decreases. The Company recognizes the full amount of any estimated loss on a contract at the time the estimates indicate such a loss. Any contract assets are classified as current assets. Contract liabilities on uncompleted contracts, if any, are classified as current liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company has elected the &#8220;right to invoice&#8221; practical expedient for revenue recognition on its services agreements and recognizes revenue in the amount to which the Company has a right to invoice.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Practical Expedients and Exemptions</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company does not disclose the value of unsatisfied performance obligations for (i)&#160;contracts with an original expected length of one&#160;year or less and (ii)&#160;contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed.</p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:PriorPeriodReclassificationAdjustmentDescription" id="Tb_HPwviIMZGUCm1eo2-NX1tQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Comparative amounts:</b> Certain amounts presented in the financial statements previously issued for 2021 have been reclassified to conform to the current&#160;year&#8217;s presentation.</p></ix:nonNumeric></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">53</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_8c42ec73_0a20_492b_9a15_1c7ca8b119aa"></a><a id="Tc_cZR67Xv2fk20NuhqpualGw_1_2"></a><a id="Tc_YVjIHKO-OkKFasL-5o9CvA_2_2"></a><a id="Tc_rkefi9vuIE-xgCGeztsZZQ_2_5"></a><a id="Tc_AwOJEduS4U-FpymJDcYgGw_3_0"></a><a id="Tc_zzUJ-A9NI0G6o_0yjTV4Cw_4_0"></a><a id="Tc_aJF3WsSCy0ybZbOc4MVYGQ_4_2"></a><a id="Tc_C7gRtV1mZ02Ykeh9PiD2KQ_4_5"></a><a id="Tc__pHpmIe010SEUBlxUwIDGA_5_0"></a><a id="Tc_dJ0_C9l4QEqR_cBAbMDdIg_6_0"></a><a id="Tc_tGv-BhR1NEuJ0JoHsVRKYg_9_0"></a><a id="Tc_yY6fjkS6CkiAEbs0bxDmXw_10_0"></a><a id="Tc_cAPsuTK_CE2mvhXBZfjGxQ_11_0"></a><a id="Tc_6Ojt2odTfU6TQdNU3TR-Hw_13_0"></a><a id="Tc_r0Yp6IT7V0eqfent9AMLBA_13_2"></a><a id="Tc_rHnXdsKg5kGODLjxaeXs_w_13_5"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:CashAndCashEquivalentsDisclosureTextBlock" id="Tb_z9QLA6fwPEqQffu1t6hVAQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">3. Cash and cash equivalents</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Cash and cash equivalents are not restricted by the terms of the Company&#8217;s bank accounts as to withdrawal or use. As of December&#160;31, 2022 and 2021, the equivalent United States dollars of the Company&#8217;s cash and cash equivalents, including those accounts denominated in currencies other than the U.S. dollar, are as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock" id="Tb_bFWJppe89kCPthNpXhDZMQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Bank accounts:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">United States dollar</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_srt_CurrencyAxis_currency_USD_RQ8hUvb1hEOUgjDr_01DPQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Cash" scale="0" id="Tc_FPUUXqSvjEab49C97zOUfA_4_3">24,573,161</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_srt_CurrencyAxis_currency_USD_RBtuWvMU0Em1L6I-r0D8eg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Cash" scale="0" id="Tc_4b_VUR1s_UK3n83ktdu3iQ_4_6">15,891,277</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Cayman Islands dollar</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_srt_CurrencyAxis_currency_KYD_OoWJjtLIBUeT6bIZ4dIATA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Cash" scale="0" id="Tc_eiBcNa6VNk2LPGCyV3YE-Q_5_3">14,956,162</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_srt_CurrencyAxis_currency_KYD_D_uv01voGECpchOEfrb4VQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Cash" scale="0" id="Tc_Lj0B-lO5K0etMCzN-cy-6w_5_6">12,784,358</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Bahamian dollar</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_srt_CurrencyAxis_currency_BSD_UPtKyAOKmEKIJZRtQDMYqg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Cash" scale="0" id="Tc_wXrq3D-OIk-Mhbuzs8Yxbw_6_3">5,698,100</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_srt_CurrencyAxis_currency_BSD_p-g5Rvz1W0Cs0_Ixm8zfAQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Cash" scale="0" id="Tc_A20clqouTEuSRt50MRFAnQ_6_6">3,944,208</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Cash" scale="0" id="Tc_SqN8Wtl4mk6bWvK5lXisWQ_7_3">45,227,423</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Cash" scale="0" id="Tc_NxRzKf-wtkuEng8Iep7RGA_7_6">32,619,843</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Short term deposits:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">United States dollar</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_srt_CurrencyAxis_currency_USD_RQ8hUvb1hEOUgjDr_01DPQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashEquivalentsAtCarryingValue" scale="0" id="Tc_UhAKUS0ey0-SAGk2KEjr7Q_10_3">5,484,328</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_srt_CurrencyAxis_currency_USD_RBtuWvMU0Em1L6I-r0D8eg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashEquivalentsAtCarryingValue" scale="0" id="Tc_uVHC6gR6OES49GjfgkGg-g_10_6">5,324,258</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Cayman Islands dollar</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_srt_CurrencyAxis_currency_KYD_OoWJjtLIBUeT6bIZ4dIATA" decimals="0" format="ixt:zerodash" name="us-gaap:CashEquivalentsAtCarryingValue" scale="0" id="Tc_cG6H446DsUqJfUO8JWsv3g_11_3">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_srt_CurrencyAxis_currency_KYD_D_uv01voGECpchOEfrb4VQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashEquivalentsAtCarryingValue" scale="0" id="Tc_tXMwDCpDWEeBdfqTnTTpZQ_11_6">2,413,958</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashEquivalentsAtCarryingValue" scale="0" id="Tc_HqGsbMg1AUSS3HJH1n_VdQ_12_3">5,484,328</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashEquivalentsAtCarryingValue" scale="0" id="Tc_sc92CBmrn0yvmIYV69EZVA_12_6">7,738,216</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="0" id="Tc_HL2GDwiP1ka-p0864_Jssg_13_3">50,711,751</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="0" id="Tc_mME0ExZ-AUC29I_X_-lcOQ_13_6">40,358,059</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;background:#00ff00;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Transfers from the Company&#8217;s Bahamas bank accounts to Company bank accounts in other countries require the approval of the Central Bank of The Bahamas.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><a id="_e8383994_3996_4a80_acec_9055b4c3ee78"></a><a id="Tc__XNl2JdD0kOVtP0RF8BAYw_1_2"></a><a id="Tc_V0q7jxgXeU-57KdaDQeOQw_2_2"></a><a id="Tc_kX33mv_e-E2SiLFJz4I8ZA_2_5"></a><a id="Tc_CcnG01i2SkK290uaUj3-Qw_3_0"></a><a id="Tc_rkJhaeLaVEGIeNEa0f7xcg_3_2"></a><a id="Tc_i4xUsVbMvkybdknc8KTE7w_3_5"></a><a id="Tc_I3KwC-EQDUWbnjRTCs94_A_4_0"></a><a id="Tc_cPTrIExeNEWvGBbzB0J9xQ_5_0"></a><a id="Tc_ZxW-Cr1W0U-rg0U8rd9AYg_7_0"></a><a id="Tc_Bv9sFj7Uq0yKRKYo-Fnhbw_8_0"></a><a id="Tc_H2lppD4fYUaZxDveWBLuMg_8_2"></a><a id="Tc_vjY9T1vF802jb7DjiwAbQQ_8_5"></a><a id="_452ebe27_f26d_49ec_9f7f_bb9a1afd790e"></a><a id="Tc_l1dmlNRRbUaxcs1r3qa9qA_1_2"></a><a id="Tc_Vxe_8PVZZ0-isBDrC5dp8A_2_2"></a><a id="Tc_4Z45VVSnckeI-WTRSuZn6A_2_5"></a><a id="Tc_7e0rC2dTu0SlQwy3NXpKPQ_3_0"></a><a id="Tc_ugfjR5KFM0qzHNkRdYWNRQ_3_2"></a><a id="Tc_ymDHcMqQw0a7zMednlSCKg_3_5"></a><a id="Tc_QG4cKGw8pkeBaG2339QBZw_4_0"></a><a id="Tc_6IFcI-9EckKs9pS7Szozbg_5_0"></a><a id="Tc_yUJEwVlvcEC9FboRessrbg_6_0"></a><a id="Tc_rLUnKyKWfk-idWzs3C0w6g_7_0"></a><a id="Tc_YEDu4JUuNkyEefQTCGnCnQ_7_2"></a><a id="Tc_LOF-h0wIS0iRj62vq75SKA_7_5"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" id="Tb_vA_jje7UJ0mmUHi_yqPppA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;">4. Accounts receivable, net</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" id="Tb_VBD7Rd2UjkuKb3dc_NYdMQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:72.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trade accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="cwco:AccountsReceivableTradeCurrent" scale="0" id="Tc_XA1rfnF770SGtdzrhRM8Ag_3_3">27,163,719</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="cwco:AccountsReceivableTradeCurrent" scale="0" id="Tc_ydQNontucESp3DCHWa6JDQ_3_6">27,311,188</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Receivable from OC-BVI</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DueFromAffiliateCurrent" scale="0" id="Tc_hdW1chTzKUWLscTj9FwpIQ_4_3">37,293</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DueFromAffiliateCurrent" scale="0" id="Tc_N9N_nYQvBkuJA5UszeGTnw_4_6">40,877</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="cwco:AccountsReceivableOtherCurrent" scale="0" id="Tc_ih0dHMY2DUOvj-QM3ze7ew_5_3">28,384</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="cwco:AccountsReceivableOtherCurrent" scale="0" id="Tc_7dJfNHDKZ0KXR-5ntJ__YQ_5_6">180,262</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="0" id="Tc_r5NwHr1noES4qaWWKgEjhg_6_3">27,229,396</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="0" id="Tc_EptpWyGCOUmFfJkeFDdb9Q_6_6">27,532,327</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Allowance for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" id="Tc_A68FN-7urU2Upr9arBroug_7_3">183,214</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" id="Tc_wUOzjeI3vEyZ-IqpqLZzwg_7_6">183,020</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" id="Tc_z6f99oOTuUqCrbnmoO4lnA_8_3">27,046,182</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" id="Tc_y7kUiN4dEUmNnhnw-_eQ8g_8_6">27,349,307</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" id="Tb_vXYVYt0yY0WL1EJp7Vl3Eg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The activity for the allowance for doubtful accounts consisted of:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Opening allowance for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" id="Tc_1OwnC6dVAkOYehKELROFXg_3_3">183,020</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2020_C1Q_2pxGgEajIBJo0wB9rQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" id="Tc_bVNexb2t1E-f61DyM2bLiQ_3_6">172,269</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Provision for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:zerodash" name="us-gaap:ProvisionForDoubtfulAccounts" scale="0" id="Tc_PR-E-fCXOU-HIfyQq9ryDA_4_3">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:zerodash" name="us-gaap:ProvisionForDoubtfulAccounts" scale="0" id="Tc_PniddDU11Ein84U3IM4kFQ_4_6">&#8212;</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts written off during the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" scale="0" id="Tc_MLNI8hO4TkyXamzzY1HhDg_5_3">726</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:zerodash" name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" scale="0" id="Tc_TEb7YUEVhEyu4toLpphSpQ_5_6">&#8212;</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Recovery of accounts written off </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries" scale="0" id="Tc_icPb7L6VRESON6UeVXxfNA_6_3">920</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries" scale="0" id="Tc_jA71E0HXD0CruPRdoxPAQg_6_6">10,751</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Ending allowance for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" id="Tc_ZN-fiaomtkinDo6PQ5WaPQ_7_3">183,214</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" id="Tc_FlWGBZj6pkas0gdH-Qpgdw_7_6">183,020</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Significant concentrations of credit risk are disclosed in Note&#160;18.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">54</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_HprY7wkPU0KTxXaOsH3XhQ_1_2"></a><a id="Tc_XOkHxqPphUOaYDmGEh0xKQ_2_2"></a><a id="Tc_Vgm81x_UfkSxkwpYfXCowA_2_5"></a><a id="Tc_JItQfPA17UGZ1S_BB8gymw_3_0"></a><a id="Tc_2NammV-qbEqAkDeUk3QjjA_3_2"></a><a id="Tc__mpRenOxDUu3TGQzUaoiqQ_3_5"></a><a id="Tc_aRz0FwfUHUiqJQXKgb9NQw_4_0"></a><a id="Tc_NMAbx0rEeEuJUVMw9z1DnQ_5_0"></a><a id="Tc_PZkLqJ-hUk6goxyVu6tQEA_6_0"></a><a id="Tc_Vmx3FkTYIECD94WFdIJDiw_7_0"></a><a id="Tc_iNfUt6rKwUCyJFz6QL3LdQ_8_0"></a><a id="Tc_u4Qg4Fs10EWjNGw9WYA_Dw_8_2"></a><a id="Tc_f2PMWbkZ3k-2g_3GMM7b9Q_8_5"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:InventoryDisclosureTextBlock" id="Tb_B0AuubqyRE65jxts62Rx_A" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;">5. Inventory</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:ScheduleOfInventoryNoncurrentTableTextBlock" id="Tb_zzunVJZAv0GmQscW08D-HQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Water stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_cwco_WaterStockMember_T-N1HEvbfkWbrE4HvY8WYA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InventoryGross" scale="0" id="Tc_LUW8rTkVxkeFwpaJBNgZEA_3_3">36,655</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_cwco_WaterStockMember_vhVPTC7NI06wr0sLixMhyg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InventoryGross" scale="0" id="Tc_SfNkRv0BZ0aIgNuANzpdwQ_3_6">34,587</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Consumables stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_cwco_ConsumablesStockMember_G73ZcJAil0urdxdXRkvu0g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InventoryGross" scale="0" id="Tc_dmFCbpMkBUWEy8ThRsh-vw_4_3">246,355</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_cwco_ConsumablesStockMember_xMIfagRwP0u3iCE1KoSeQA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InventoryGross" scale="0" id="Tc_jkiDPAeyyEmG6OyyVWc_eA_4_6">138,547</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Spare parts stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_cwco_SparePartsStockMember_1NXF2RIfEEOpIVmEUIJKxw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InventoryGross" scale="0" id="Tc_-nfUqipPN0u2S3LFzgWEow_5_3">9,995,819</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_cwco_SparePartsStockMember_olmPGB-pVkiqMgFCV4q4MQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InventoryGross" scale="0" id="Tc_5tiybG6icEKF2jUFyOC6ug_5_6">7,064,708</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total inventory</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InventoryGross" scale="0" id="Tc_dj83ZrkoBkS5gjmHsFvwow_6_3">10,278,829</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InventoryGross" scale="0" id="Tc_YVhCroT3NEuHqHdZcF-_4A_6_6">7,237,842</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="0" id="Tc_hJKS_2G-lkCpKYVtp8hJ3w_7_3">5,727,842</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="0" id="Tc_wXWWjD8Pm0ChD4XROcXB-g_7_6">2,504,832</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Inventory (non-current)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InventoryNoncurrent" scale="0" id="Tc_5KXBf6arvkCplfACdDFw5Q_8_3">4,550,987</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InventoryNoncurrent" scale="0" id="Tc_4PC4jpnRLUu2Y6EW5EDfbQ_8_6">4,733,010</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="_f67fc03a_aad5_4545_822b_ace32fd6a541"></a><a id="Tc_dt1FyRJUqUCpYplVzkY2TQ_1_2"></a><a id="Tc_lkTVihFqGUCU5trjOn8unQ_2_2"></a><a id="Tc_waRKVXBxqkCyZrTN_mRvLw_2_5"></a><a id="Tc_4H3EhZ6ORkC7BOTCO3RESA_3_0"></a><a id="Tc_a8-PVGlD2ECeVLOgUsJQMQ_3_2"></a><a id="Tc_0ZjLj-udREKy_j0ZWZUH_w_3_5"></a><a id="Tc_XIKtC4DlaEmlw8quYhr8fg_4_0"></a><a id="Tc_rzVisA11j06GaGhCdt-EoQ_5_0"></a><a id="Tc_HkVhTINSrEmN6JXBxuI2RA_6_0"></a><a id="Tc_nTxMFtD_BUmzVscsFEk7rA_6_2"></a><a id="Tc_Yql5pEEn90m9cMXh-sH_xQ_6_5"></a><a id="_d83ca62f_999b_48b5_9ac7_4839e5cb0b55"></a><a id="Tc_sVt8ccKkhU-M9mwWp5Z_Qw_1_2"></a><a id="Tc_ao2TMLtAVkiGVxADLJVExw_2_2"></a><a id="Tc_mr7MXIWWoEWhL6zsTQU8Kg_2_5"></a><a id="Tc_V8pzWz1SekCaPoKZEyBe0Q_3_0"></a><a id="Tc_rnJ_Kq4vV0aPRXvSbHI7ig_3_2"></a><a id="Tc_aBgcQdaUA0GMvgo7twKptw_3_5"></a><a id="Tc_MrsB8Dvvr0GzPxhfsIROSQ_4_0"></a><a id="Tc_BObbden_DUOv8jT9s5Fs2Q_5_0"></a><a id="Tc_IhBOOF28z0OhIPr1bRU0gA_5_2"></a><a id="Tc_OBY5i5AhhkevIzXdeLcRpQ_5_5"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="Tb_md7KJLAUe0u3vqyEprd7xQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">6. Contracts in progress</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="cwco:ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock" id="Tb_4ZTpQHVc2EuUVYS9ovUl6A" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Revenue recognized and amounts billed on contracts in progress are summarized as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:72.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized to date on contracts in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" id="Tc_7YXzkRvVdEKme6cJSn_8Hg_3_3">25,469,014</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" id="Tc_88HWXfnSbEOOoEGDSexNZg_3_6">6,109,396</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amounts billed to date on contracts in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="cwco:ContractWithCustomerAmountBilled" scale="0" id="Tc_G434XlBd9E2qSsF_eCreng_4_3">33,407,182</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="cwco:ContractWithCustomerAmountBilled" scale="0" id="Tc_W9I-FXDSY0KdLdfQPz7mOA_4_6">6,370,855</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Retainage</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="cwco:ContractWithCustomerRetainage" scale="0" id="Tc_IZKlsjqTkUGTKX1amMlCQw_5_3">2,047,969</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="cwco:ContractWithCustomerRetainage" scale="0" id="Tc_VBRRQIIRT024n3G__52FIg_5_6">237,542</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net contract liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="cwco:ContractWithCustomerNetOverbillings" sign="-" scale="0" id="Tc_cqX0Cy_XCEifNLeEWuggyQ_6_3">5,890,199</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="cwco:ContractWithCustomerNetOverbillings" sign="-" scale="0" id="Tc_HEZJlo7hMkyMFPRZSjzH2Q_6_6">23,917</ix:nonFraction>)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">The above net balances are reflected in the accompanying consolidated balance sheet as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="0" id="Tc_q8YbJkMoR0OLRq5SuuY_RQ_3_3">2,913,722</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="0" id="Tc_cawZ7q-qVkSFxgBI5CUeBA_3_6">489,961</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="0" id="Tc_Jb-h_eApsUKFSwl3CRSeQQ_4_3">8,803,921</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="0" id="Tc_-Ou5LsSr9UaK3qUN3sJenw_4_6">513,878</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net contract liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="cwco:ContractWithCustomerNetOverbillings" sign="-" scale="0" id="Tc_PKVdrwwZS0mULU3EifZ9-w_5_3">5,890,199</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="cwco:ContractWithCustomerNetOverbillings" sign="-" scale="0" id="Tc_OARwW7uwJESbPkfV_WAa_Q_5_6">23,917</ix:nonFraction>)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The significant increase in contract liabilities from December 31, 2021 to December 31, 2022 is primarily attributable to billings on PERC&#8217;s construction contract with Liberty Utilities for a water treatment facility in Arizona.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">As of <span style="-sec-ix-hidden:Hidden_IYfoFNovFk6_DJ7VkUWbZg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">December 31, </span></span>2022, the Company had unsatisfied or partially unsatisfied performance obligations for contracts in progress representing approximately $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_cwco_cnst_2022-12-31_pDIaB1foqk-hwPkXpc-QtQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:RevenueRemainingPerformanceObligation" scale="6" id="Narr_p9qYDRGKhUSG62tY0rdrng">97.9</ix:nonFraction> million in aggregate transaction price for contracts with an original expected length of greater than one year. The Company expects to earn revenue as it satisfies its performance obligations under those contracts in the amount of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_cwco_cnst_2023-12-31_xdSBFhmI80G1jIpP1DOrQw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:RevenueRemainingPerformanceObligation" scale="6" id="Narr_uJRbBfdapUqZM2vLPaTd5Q">75.3</ix:nonFraction> million during the year ending <span style="-sec-ix-hidden:Hidden_krpoWHDnsEuXcTJZVPGkeA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">December 31, 2023</span></span> and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_cwco_cnst_date_20241231_7G14Fu6DbUOM9cpNk5V06w" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:RevenueRemainingPerformanceObligation" scale="6" id="Narr_gydgCmqw8U6rvF7z0ld5_A">22.6</ix:nonFraction> million <span style="-sec-ix-hidden:Hidden_-N3RFjmXGU2GbGZ4UxVTaQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">thereafter</span></span>. In addition, the Company recognized revenue of $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="0" id="Narr_1QLg1kw4v0OkJAeRPxAYqA">468,000</ix:nonFraction> in the year ended December 31,&#160;2022, that was included in the contract liability balance as of December 31, 2021.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">55</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_Z4MxSH5YzUObfQWX4Td4pA_1_2"></a><a id="Tc_kBE1omyM2EW6LbscmCXzNQ_2_2"></a><a id="Tc_BA-2bJaZPkOwFyhfE8k1Gw_2_5"></a><a id="Tc_NKCUZpXmmEqX0tbiloFsvg_3_0"></a><a id="Tc_ufXxGVgsRk6Fylsgmqac_Q_3_2"></a><a id="Tc_oMvWGLCnb02Nwqa5CcxicA_3_5"></a><a id="Tc_NhZ6rPNkEEmiSoeaCar9Rg_4_0"></a><a id="Tc_zB1tFIWg802JH3qNlNZaUA_5_0"></a><a id="Tc_DvTVEsoM70CDsseANn9POw_6_0"></a><a id="Tc_mMfC5XfnAUyHfl_juD9rww_7_0"></a><a id="Tc_t0g9vlfpCkWnfZ96HXreUw_8_0"></a><a id="Tc_McGfISpzFkafdACandPxpA_9_0"></a><a id="Tc_i6Dtu3bS30yCxR6o87PsAg_10_0"></a><a id="Tc_rjhfF2jRt0-xbBNVO7EWeA_12_0"></a><a id="Tc_NayE1V1glE27Gxg3fdZJqA_13_0"></a><a id="Tc_RCWCDmEzG0-d_GsNzOjO7Q_13_2"></a><a id="Tc_ZxrJHTa9DkqX2QY-fW-vYA_13_5"></a><a id="Tc_dTLG9Vr3jUibVOfeqdrWUQ_14_0"></a><a id="Tc_3qSMKxpfakSMSu8RJz1nNA_14_2"></a><a id="Tc_5WwGLC2IK0K8CxEyu__gaw_14_5"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" id="Tb__R9qpdI3V0u_PGYrNbgc8A" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;">7. Property, plant and equipment and construction in progress</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:PropertyPlantAndEquipmentTextBlock" id="Tb_Vx3gkOJ6skqZ9KWsOqPQHQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Land</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_q1bM9bwnUEO2UEWy0T-ohw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc_ge_luX9JGUupzOfgeQV1Qw_3_3">6,488,400</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_Rs3QYfM3aEuEDEk-lOiWtg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc__VWn4sVqlUOZ7AmCU1gjtw_3_6">3,316,537</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Buildings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_-XEZN2yfpUyMrWj0DeQ0TQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc_kxrBYT1ub02_JOSTJVdTgg_4_3">23,280,880</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_9t5ABujKlEik3aHffAM6tQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc_7bECssjiLUOXPZ6bS4MnTA_4_6">23,255,925</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_PlantAndEquipmentMember_VRKix0K_Nk-xYFNeN_XZ1g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc_u363m6hQZEWV_wOB8_o-UQ_5_3">64,532,994</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_PlantAndEquipmentMember_3mrFm3mOyEWHAExx_pe8Pg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc_ofhP1O0-TkWoH9xKJrTCqQ_5_6">64,324,377</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Distribution system</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_DistributionSystemsMember_HYs72WwND0aaruOAZ7g27Q" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc_uC3uoBBZQU-CsemuGgkP5g_6_3">39,544,395</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_DistributionSystemsMember_2c7g3Pkv9EGiLLSobFyycQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc_sB6uS9k4eUCqkuwUuldAbA_6_6">39,780,272</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Office furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_QloPZuaO-UCvfutzvAz0LQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc_0AL_R6hI70aIu2rszg-Mdw_7_3">3,109,546</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_W1k_tDFvwECgbdd0je_3qA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc_-qwb0-WXOkClZlBEDI54Hw_7_6">3,051,814</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vehicles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_mw3wyW_9LU6U448K2z4pRw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc__c9ulrt6CEyJswsQ8LTCwg_8_3">2,525,576</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_FIwZb1208EC6qe0eO3ir6Q" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc_vw0yB3P-8UybScjGKHuIRA_8_6">2,079,874</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_EOtT9ovp6kKj_c6U2eUzbw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc__mKQzf38r0yChSPoTHzdsw_9_3">287,980</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_0ibF_bVy7kWco3HBqVjc-A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc_lGVy-BFiK0GElwI0qVNdKA_9_6">287,980</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Lab equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_LabEquipmentMember_QMnj4GPSqUGYeP5yGVt5Xg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc_yu4ivPEkVUy2xXf2XnnNZg_10_3">12,456</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_LabEquipmentMember_Wwjt8Ir4H0q_Okmavwhc3g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc_a2gjWHqAf0mHCr-Ve3m-FA_10_6">12,456</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc_erwEjnas0ki6apQ12Yd8sQ_11_3">139,782,227</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" id="Tc_vqN3Kk9A_UKAk5rdm4MDiQ_11_6">136,109,235</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="0" id="Tc_Wc08KEDER0W10-RuwjHDNw_12_3">87,252,682</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="0" id="Tc_g7_jHy_uU06mdowcZRbCdQ_12_6">83,162,696</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_xbZDodgQL02QoSua64ezBQ_13_3">52,529,545</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_9poocmfrkE2f_6UoVFWNTg_13_6">52,946,539</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Construction in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ConstructionInProgressGross" scale="0" id="Tc_mj2GipvoBEa5epy8s2MREg_14_3">3,705,681</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ConstructionInProgressGross" scale="0" id="Tc_meFGuzrWmkCydXLLPDc8-w_14_6">710,863</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">As of December&#160;31, 2022, the Company had outstanding capital commitments of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="-5" format="ixt:numdotdecimal" name="cwco:CapitalCommitments" scale="6" id="Narr_kJcBNhEH9Eink6kQ02RBXw">2.0</ix:nonFraction> million. The Company maintains insurance for loss or damage to all fixed assets that it deems susceptible to loss. During the&#160;years ended December&#160;31, 2022 and 2021, $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="INF" format="ixt:numdotdecimal" name="cwco:ConstructionInProgressPlacedInService" scale="0" id="Narr_nvd36GlRvE6nbCfOhQVuKw">297,723</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="cwco:ConstructionInProgressPlacedInService" scale="0" id="Narr_KUR5V1Winkua4YKoB2p1hg">644,224</ix:nonFraction>, respectively, of construction in progress was placed in service. Depreciation expense was $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="0" id="Narr_M5KGzzKqS0qiZIE3qn0PbA">5,425,177</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="0" id="Narr_ImsvwUUZ1UW0xPZ-Qsm3pw">5,995,213</ix:nonFraction> for the&#160;years ended December&#160;31, 2022 and 2021, respectively.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock" id="Tb_63AUnGZRUU65TdjM23aiYQ" continuedAt="Tb_63AUnGZRUU65TdjM23aiYQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">8. Discontinued operations &#8211; Mexico project development</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">In 2010, the Company began the pursuit, through its Netherlands subsidiary, Consolidated Water Cooperatief, U.A. (&#8220;CW-Cooperatief&#8221;), and its Mexico subsidiary, N.S.C. Agua, S.A. de C.V. (&#8220;NSC&#8221;), of a project (the &#8220;Project&#8221;) that encompassed the construction, operation and minority ownership of a <ix:nonFraction unitRef="Unit_Standard_gal_UpEjAnoTDkiUT8wjiEd8vw" contextRef="Duration_5_1_2010_To_5_31_2010_srt_OwnershipAxis_cwco_NSCAguaMember_o1P21uztVUeONg-bTW14zA" decimals="-6" format="ixt:numdotdecimal" name="cwco:SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity" scale="6" id="Narr_x-Wsc59zR0asu0qH7-CdKg">100</ix:nonFraction> million gallon per day seawater reverse osmosis desalination plant to be located in northern Baja California, Mexico and accompanying pipelines to deliver water to the Mexican potable water system.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Through a series of transactions that began in 2012, NSC purchased <ix:nonFraction unitRef="Unit_Standard_ha_DTzSJvvPjEizTLVgW4jN-Q" contextRef="As_Of_12_31_2012_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_cwco_NSCAguaMember_nJS1kulStUK0Kdgxr5V7Gg" decimals="1" format="ixt:numdotdecimal" name="us-gaap:AreaOfLand" scale="0" id="Narr_k1TRdSwb9Uuj0AHhjPOM_w">20.1</ix:nonFraction> hectares of land for approximately $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2012_To_12_31_2012_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_cwco_NSCAguaMember_1K26GRGPsU6Fce9D2BT6gQ" decimals="-5" format="ixt:numdotdecimal" name="cwco:PaymentForLandAndRightOfWayHeldForDevelopment" scale="6" id="Narr_OCUzZFQ8Q0qoHRrOsi1jfg">21.1</ix:nonFraction> million on which the proposed Project&#8217;s plant was to be constructed.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#8203;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Following an assessment by the State of Baja, California (the &#8220;State&#8221;) of the need for such a desalination plant and the passage of enabling legislation in November 2015, the State officially commenced the required public tender for the Project. A consortium (the &#8220;Consortium&#8221;) comprised of NSC, Suez Medio Ambiente M&#233;xico, S.A. de C.V. (&#8220;Suez MA&#8221;), a subsidiary of SUEZ International, S.A.S., and NuWater S.A.P.I. de C.V. (&#8220;NuWater&#8221;) submitted its tender for the Project in April 2016 and in June 2016, the State designated the Consortium as the winner of the tender process for the Project.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#8203;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In August 2016, NSC and NuWater incorporated a new company under the name Aguas de Rosarito S.A.P.I. de C.V. (&#8220;AdR&#8221;) to pursue completion of the Project and executed a shareholders agreement for AdR agreeing among other things that (i) AdR would purchase the land and other Project assets from NSC on the date that the Project begins commercial operation and (ii) AdR would enter into a Management and Technical Services Agreement with NSC effective on the first day that the Project begins commercial operation. NSC initially owned <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="As_Of_8_31_2016_srt_OwnershipAxis_cwco_NSCAguaMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_cwco_AguasDeRosaritoSapiDeCvMember_CUyCWJnWt0yfe3bZF2yAeQ" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_2CM-gkxV-EquKKcc3qQbuQ">99.6</ix:nonFraction>% of the equity of AdR. In February 2018, CW-Holdings acquired the remaining <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="As_Of_2_28_2018_srt_OwnershipAxis_cwco_NSCAguaMember_W0-Wx1olUkqDOFvFloVsPQ" decimals="3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners" scale="-2" id="Narr_4KBmmPzGtkOtOnMBk1KJwA">0.4</ix:nonFraction>% ownership in AdR from NuWater.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#8203;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On August 22, 2016, the Public Private Partnership Agreement for the Project (the &#8220;APP Contract&#8221;) was executed between AdR, the State Water Commission of Baja California (&#8220;CEA&#8221;), the Government of Baja California, as represented by the Secretary of Planning and Finance and the Public Utilities Commission of Tijuana (&#8220;CESPT&#8221;). The APP Contract required AdR to design, construct, finance and operate a seawater reverse osmosis desalination plant (and accompanying aqueduct) with a capacity of up to <ix:nonFraction unitRef="Unit_Standard_gal_UpEjAnoTDkiUT8wjiEd8vw" contextRef="Duration_8_22_2016_To_8_22_2016_srt_OwnershipAxis_cwco_NSCAguaMember_ZQ2zplKDEUKq2piBPsd4sg" decimals="-6" format="ixt:numdotdecimal" name="cwco:SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity" scale="6" id="Narr_ZEVE2TGE0UKXwES9rFHXyg">100</ix:nonFraction> million gallons per day in two phases: the first with a capacity of <ix:nonFraction unitRef="Unit_Standard_gal_UpEjAnoTDkiUT8wjiEd8vw" contextRef="Duration_8_22_2016_To_8_22_2016_cwco_TypeOfPhasesAxis_cwco_FirstPhaseMember_srt_OwnershipAxis_cwco_NSCAguaMember_roSAHkYavES55nLQFW9Rqw" decimals="-6" format="ixt:numdotdecimal" name="cwco:SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity" scale="6" id="Narr_4YFR_YuUwE6T2tMwV773XQ">50</ix:nonFraction> million gallons per day and an aqueduct to the Mexican public water system in Tijuana, Baja California and the second phase with a capacity of <ix:nonFraction unitRef="Unit_Standard_gal_UpEjAnoTDkiUT8wjiEd8vw" contextRef="Duration_8_22_2016_To_8_22_2016_cwco_TypeOfPhasesAxis_cwco_SecondPhaseMember_srt_OwnershipAxis_cwco_NSCAguaMember_CRd5YYF9mEufmgRhhivLeQ" decimals="-6" format="ixt:numdotdecimal" name="cwco:SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity" scale="6" id="Narr_uVmqGFc0Mk6mOH7fwWD0uQ">50</ix:nonFraction> million gallons per day. The first phase was to be operational within <ix:nonNumeric contextRef="Duration_8_22_2016_To_8_22_2016_srt_OwnershipAxis_cwco_NSCAguaMember_ZQ2zplKDEUKq2piBPsd4sg" format="ixt-sec:durwordsen" name="cwco:PeriodInWhichConstructionMustBeCompleted" id="Narr_SzCgk-D4vU6S0EkF3MbfSw">36 months</ix:nonNumeric> of commencing construction and the </p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">56</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_63AUnGZRUU65TdjM23aiYQ_cont1" continuedAt="Tb_63AUnGZRUU65TdjM23aiYQ_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">second phase was to be operational by January 2025. The APP Contract further required AdR to operate and maintain the plant and aqueduct for a period of <ix:nonNumeric contextRef="Duration_8_22_2016_To_8_22_2016_srt_OwnershipAxis_cwco_NSCAguaMember_ZQ2zplKDEUKq2piBPsd4sg" format="ixt-sec:durwordsen" name="cwco:PeriodRequiredToOperateAndMaintainPlantAndAqueduct" id="Narr_7-1RoN3fT02tJFHpCgwgcA">37 years</ix:nonNumeric> starting from the commencement of operation of the first phase. At the end of the operating period, the plant and aqueduct would have been transferred to CEA. The APP Contract was subsequently amended by the parties in June 2018 to increase the scope of Phase 1 and to allow for changes in the water tariff due to the changes in the exchange rate for the peso, interest rates and construction costs that had and would occur from the date the APP Contract was signed to the date construction commenced.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On June 29, 2020, AdR received a letter (the &#8220;Letter&#8221;) from the Director General of CEA and the Director General of CESPT terminating the APP Contract. The Letter requested that AdR provide an inventory of the assets that currently comprise the &#8220;Project Works&#8221; (as defined in the APP Contract) for the purpose of acknowledging and paying the non-recoverable expenses made by AdR in connection with the Project, with such reimbursement to be calculated in accordance with the terms of the APP Contract. The applicable law required that this list of non-recoverable expenses made by AdR in connection with the Project be submitted to CEA and CESPT within <ix:nonNumeric contextRef="Duration_6_29_2020_To_6_29_2020_sPMd70VDuUCJoqa8nbPbZQ" format="ixt-sec:durday" name="cwco:NumberOfDaysToSubmitListOfNonRecoverableExpenses" id="Narr_Z-quEAql00S9EhhABXHJOA">20</ix:nonNumeric> business days from the date of receipt of the Letter. AdR initiated an&#160;amparo&#160;claim before a federal district court in Tijuana, Baja California, to challenge the provision of the applicable law requiring submittal of the list of non-recoverable expenses within the&#160;20&#160;business days term, as AdR considered such term to be unreasonably short due to the magnitude of the Project and the scope of supporting documentation required to be provided with respect to the non-recoverable expenses. AdR obtained an initial provisional suspension of the lapsing of such 20-day term from the court, and on August 10, 2020 the court made such suspension definitive until the completion of the amparo trial. As such, the&#160;20-day&#160;term for filing the list of non-recoverable expenses was suspended. Therefore, on August 28, 2020, AdR submitted their list of non-recoverable expenses, including those of NSC, to CEA and CESPT which was comprised of <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_8_28_2020_To_8_28_2020_ZfbhLREj80G86h6sYfxZrA" decimals="0" format="ixt:numdotdecimal" name="cwco:DiscontinuedOperationsNonRecoverableExpenses" scale="0" id="Narr_sQgpH3MebUO6CJessa20iA">51,144,525</ix:nonFraction> United States dollars and an additional <ix:nonFraction unitRef="Unit_Standard_MXN_NKR-5MDyu0K7g_77FJiDAw" contextRef="Duration_8_28_2020_To_8_28_2020_ZfbhLREj80G86h6sYfxZrA" decimals="0" format="ixt:numdotdecimal" name="cwco:DiscontinuedOperationsNonRecoverableExpenses" scale="0" id="Narr_-bgaKzAcpk-NxlELp2BDLw">137,333,114</ix:nonFraction> Mexican pesos. In February 2021, AdR withdrew this amparo claim, and such withdrawal was accepted by the federal district court in Tijuana. To date, AdR has not received a formal response from CEA or CESPT to its submission of non-recoverable expenses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company believes CW-Cooperatief, as a Netherlands company, has certain rights relating to its investments in NSC and AdR under the <i style="font-style:italic;">Agreement on Promotion, Encouragement and Reciprocal Protection of Investments between the Kingdom of the Netherlands and the United Mexican States </i>entered into force as of October 1, 1999 (the &#8220;Treaty&#8221;). On April 16, 2021, CW-Cooperatief submitted a letter to the President of Mexico and other Mexican federal government officials alleging that the State&#8217;s termination of the APP Contract constituted a breach by Mexico of its international obligations under the Treaty, entitling CW-Cooperatief to full reparation, including monetary damages. This letter invites Mexico to seek a resolution of this investment dispute through consultation and negotiation, but stated that if the dispute cannot be resolved in this manner, CW-Cooperatief elects to refer the dispute to the International Centre for the Settlement of International Disputes for arbitration, as provided for in the Treaty. On June 29, 2021, the Mexican Ministry of Economy responded to CW-Cooperatief&#8217;s letter and proposed to hold a consultation meeting. Two such meetings were held on July 9, 2021 and August 2, 2021 on a confidential basis, without a resolution of the Company&#8217;s investment dispute.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;text-align:justify;background:#ffffff;margin:0pt;">On February 9, 2022, CW-Cooperatief, filed a Request for Arbitration with the International Centre for Settlement of International Disputes requesting that the United Mexican States pay CW-Cooperatief damages in excess of US$<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_2_9_2022_To_2_9_2022_srt_RangeAxis_srt_MinimumMember_EOswmxyBV0q740-H_b28LA" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:LossContingencyDamagesSoughtValue" scale="6" id="Narr_g2zFowEnkEqrmHrTlFPVIg">51</ix:nonFraction> million plus MXN$<ix:nonFraction unitRef="Unit_Standard_MXN_NKR-5MDyu0K7g_77FJiDAw" contextRef="Duration_2_9_2022_To_2_9_2022_pijHGs4rBEOq-frQM5E_xw" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:LitigationSettlementExpense" scale="6" id="Narr_7WeU_ZN910W4JL0ImWS2ZQ">137</ix:nonFraction> million (with the exact amount to be quantified in the proceedings), plus fees, costs and pre- and post-award interest.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;background:#ffffff;margin:0pt 0pt 12pt 0pt;">CW-Cooperatief intends to pursue vigorously the relief sought in the arbitration, in addition to pursuing all other legal remedies and courses of action available under the operative contracts and applicable law with respect to their rights, damages, fees and expenses. The Company cannot provide any assurances that CW-Cooperatief will be able to obtain the relief sought in the arbitration, and CW-Cooperatief will incur legal and other arbitration-related expenses that the Company expects will be material to its consolidated results of operations and cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">During July 2022, the State initiated discussions with the Company to potentially resolve the issues related to the cancellation by the government of the Rosarito desalination plant contract as well as potentially addressing the State&#8217;s acute water shortage issues. The Company cannot presently determine the outcome of the discussions and the Company has not terminated its efforts to obtain relief through the international arbitration process as a result of these discussions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">57</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_d176b5ab_e03c_4f79_a8c5_92eaeae06665"></a><a id="Tc_CqpgJSRXxk2TNfUYSjTUlg_1_2"></a><a id="Tc_mOC8J1uueE-n1M9rOf8WDg_2_3"></a><a id="Tc_9eArB_34CEiEi4X0F5-VxA_2_6"></a><a id="Tc_ROHXXcBdXEWW8rScMHWngA_3_0"></a><a id="Tc_SwcKJpXGNEOf60PD7ij4Gw_3_2"></a><a id="Tc_2X1otzsyBkq4Mkm8669JDA_3_5"></a><a id="Tc_y3nCQBobNk2ZNhI78niszQ_4_0"></a><a id="Tc_pvQT_ajC-UCNIqME-DoN2w_4_6"></a><a id="Tc_MUOIHbOly0-B3l4n6OJogQ_5_0"></a><a id="Tc__u9iZ6Cwjkyv8id9-0vt8Q_6_0"></a><a id="Tc_ERc612yhPEKNbZS5ndAsZw_7_0"></a><a id="Tc_OOt9A7aI3UCUjuBBkxpnjw_8_0"></a><a id="Tc_dA8H976JoU-F8O25xBvwyQ_9_0"></a><a id="Tc_-UZJO5CFs0WM90F6RacsAA_9_2"></a><a id="Tc_ttVhJFTvo0qCHpSACGWFQQ_9_5"></a><a id="Tc_lVO55IFXjEmLhfpfixoRPA_11_0"></a><a id="Tc_JpSgSOFwy0GHG2RSCsvk4w_11_2"></a><a id="Tc_nL07mbzq00SOWe75RjgV8g_11_5"></a><a id="_a84767c8_df7a_4f50_b71a_18b1f9df6913"></a><a id="Tc_TZEWbyh3Q0G9Ra62FopIww_1_2"></a><a id="Tc_Iqx84ybTuUy3sRf5lIwScQ_2_2"></a><a id="Tc_q2EcyKxcYkCOGZl1PAQkMw_2_5"></a><a id="Tc_LdT2wl4qO0-YD3IOGaGfbg_3_0"></a><a id="Tc_dnWwqSSCaUKfdvbmqlG2JQ_3_2"></a><a id="Tc_9jB01Ox-MUOQXG1z7108cg_3_3"></a><a id="Tc_93Pfa2xZz0Wb4Rr3A87fXg_3_5"></a><a id="Tc_79k4vXhP3ES9cGjbHSj9zA_3_6"></a><a id="Tc_4Vn42qgcQEeY92CgHIRYLQ_4_0"></a><a id="Tc_BXs9PeUeNUu8NoL6MCxVOQ_4_2"></a><a id="Tc_nxG7v4aD-0O8Ada9HJHGsw_4_5"></a><a id="Tc_mX-uCJ5160u4mr_2rYtTRQ_5_0"></a><a id="Tc_-AdZJ3x-JkCLQ6zPiep2Ig_5_2"></a><a id="Tc_xRmq9Q5zdEeatG7wxCWAsw_5_5"></a><a id="Tc_ZzRpjRKKIUiymlEK2bbZGA_6_0"></a><a id="Tc_Fowh_BKxLkuxYKAEymp1SA_6_2"></a><a id="Tc_JlO0cxFsAkW15t1d4WDQqg_6_3"></a><a id="Tc_NvPTKlUNQUusdBaBC8fuYA_6_5"></a><ix:continuation id="Tb_63AUnGZRUU65TdjM23aiYQ_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company cannot provide any assurances that it will be able to obtain reimbursement for any expenses or investments made with respect to the Project.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">As a result of the cancellation of the APP Contract, in 2020 the Company discontinued all development activities associated with the Project and commenced active marketing efforts to sell the land NSC purchased for the Project. Accordingly, the assets and liabilities of CW-Cooperatief, NSC and AdR, as well as the costs for legal and administrative activities to pursue reimbursement from the State of Baja California following the cancellation of the APP Contract, have been classified as discontinued operations in the accompanying consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company&#8217;s net losses from discontinued operations for the years ended December&#160;31,&#160;2022 and 2021 were ($<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_SXc5aIGFJU2gV7zovx78OA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" sign="-" scale="0" id="Narr_Kg4CM7VFYU-yHFKzJMtksA">2,371,049</ix:nonFraction>) and ($<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_Zz0y3hTN3UeiDEFFxvFEiQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" sign="-" scale="0" id="Narr_7O4f1Z2NL0uZCJ8CvwXoAg">2,574,079</ix:nonFraction>), respectively. The Company&#8217;s net losses from discontinued operations for 2022 and 2021 includes provisions of $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_SXc5aIGFJU2gV7zovx78OA" decimals="0" format="ixt:numdotdecimal" name="cwco:ProvisionForUncollectedValueAddedTaxes" scale="0" id="Narr_v8kc3Zdxw0aQ6c7BRQDwDA">377,326</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_Zz0y3hTN3UeiDEFFxvFEiQ" decimals="0" format="ixt:numdotdecimal" name="cwco:ProvisionForUncollectedValueAddedTaxes" scale="0" id="Narr_KbqrAhV-Q06zvwEmxsKkeQ">963,540</ix:nonFraction>, respectively, for uncollectible value added taxes paid to, and reimbursable from, the Mexican federal government.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock" id="Tb_PgQsEjK-jUK_UH99e0M2ig" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">Summarized financial information for the discontinued Mexico project development operation is as follows:</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_iY1jPOijHk6biRp1Mim8bA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents" scale="0" id="Tc_d0kCV7y5jE2Wz-IPx2yZxA_3_3">442,252</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_EiEaJPjeIUm9qIXa_8FpnQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents" scale="0" id="Tc_2JGbg43XgEGXVjt6JmIMUQ_3_6">750,048</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_iY1jPOijHk6biRp1Mim8bA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent" scale="0" id="Tc_jTptBf8XY0iX6JJjK04GZw_4_3">12,675</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_iY1jPOijHk6biRp1Mim8bA" decimals="0" format="ixt:numdotdecimal" name="cwco:DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable" scale="0" id="Tc_6yHYae4Lo0e6KY7kcCt1rQ_5_3">75,826</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_EiEaJPjeIUm9qIXa_8FpnQ" decimals="0" format="ixt:numdotdecimal" name="cwco:DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable" scale="0" id="Tc_5R_mp6FXrEKh_GOAm1857w_5_6">82,783</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-size:10pt;">Value added taxes receivable </span>(net of allowance of $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_iY1jPOijHk6biRp1Mim8bA" decimals="0" format="ixt:numdotdecimal" name="cwco:ValueAddedTaxReceivableAllowance" scale="0" id="Narr_ks6Ug4sUxUeUXOzkFNPnrQ">1,711,234</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_EiEaJPjeIUm9qIXa_8FpnQ" decimals="0" format="ixt:numdotdecimal" name="cwco:ValueAddedTaxReceivableAllowance" scale="0" id="Narr_eUXBD9zqPkKbPFf6BahWGA">1,279,757</ix:nonFraction>, respectively)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_iY1jPOijHk6biRp1Mim8bA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent" scale="0" id="Tc_D3sRq8RMF0CJWypkLJQUYQ_6_3">727</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_EiEaJPjeIUm9qIXa_8FpnQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent" scale="0" id="Tc_GfKpELvSIUqHHG43Xk0sOg_6_6">340,910</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Land</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_iY1jPOijHk6biRp1Mim8bA" decimals="0" format="ixt:numdotdecimal" name="cwco:DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay" scale="0" id="Tc_5WB70Nr7XESkU3UfY0Gqpw_7_3">21,126,898</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_EiEaJPjeIUm9qIXa_8FpnQ" decimals="0" format="ixt:numdotdecimal" name="cwco:DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay" scale="0" id="Tc_78ZTjHtJeE2yEPXkC0Kwqg_7_6">21,126,898</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_iY1jPOijHk6biRp1Mim8bA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets" scale="0" id="Tc_fFBX7KwVmUm_2anVQ7mVvw_8_3">2,390</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_EiEaJPjeIUm9qIXa_8FpnQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets" scale="0" id="Tc_6Fys0KjbeU2wpMvJe5ZBYg_8_6">19,288</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total assets of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_iY1jPOijHk6biRp1Mim8bA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperation" scale="0" id="Tc_2CgNQCvZR0S1cFT3Cq1TqQ_9_3">21,660,768</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_EiEaJPjeIUm9qIXa_8FpnQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperation" scale="0" id="Tc_y0vMDIketEG_xB9dNCbG-w_9_6">22,319,927</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total liabilities of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_iY1jPOijHk6biRp1Mim8bA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation" scale="0" id="Tc_sR2SltzKMU6EIVKG0dAeqw_11_3">389,884</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_EiEaJPjeIUm9qIXa_8FpnQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation" scale="0" id="Tc_dV9JIyImrU2Uof6Isk5aJw_11_6">190,141</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;background:#ffffff;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Provision for uncollected value added taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_SXc5aIGFJU2gV7zovx78OA" decimals="0" format="ixt:numdotdecimal" name="cwco:ProvisionForUncollectedValueAddedTaxes" scale="0" id="Tc_BogW1Z3f00WtRHkXeB7LQA_4_3">377,326</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_Zz0y3hTN3UeiDEFFxvFEiQ" decimals="0" format="ixt:numdotdecimal" name="cwco:ProvisionForUncollectedValueAddedTaxes" scale="0" id="Tc_0B2XhDMp5UimQGgaolWK_Q_4_6">963,540</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Loss from discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_SXc5aIGFJU2gV7zovx78OA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" sign="-" scale="0" id="Tc_871_PnXDyEO6M-xbr-j0wA_5_3">2,371,049</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_Zz0y3hTN3UeiDEFFxvFEiQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" sign="-" scale="0" id="Tc_iZhMMRp0OkuJkY09UQarYA_5_6">2,574,079</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Depreciation expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_Zz0y3hTN3UeiDEFFxvFEiQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization" scale="0" id="Tc_2JT5FSNrN0-PlnRMEHUe0Q_6_6">4,545</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:IntangibleAssetsDisclosureTextBlock" id="Tb_gC9kMxA8qEG0wvod6Zfaxw" continuedAt="Tb_gC9kMxA8qEG0wvod6Zfaxw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">9. Intangible assets</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s purchase transactions for Aerex and PERC identified certain intangible assets. The remaining intangible assets and their respective useful lives are as follows: non-compete agreements (<span style="-sec-ix-hidden:Hidden_91hD7DAcuEWByb9hPsVsfg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">3</span></span> and <span style="-sec-ix-hidden:Hidden_RdQbXo2Mg0Gum4zs_sJGPA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">5&#160;years</span></span>), trade names (<span style="-sec-ix-hidden:Hidden_NWCWAsh4-U-6RasXWCt7Kg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">15&#160;years</span></span>), and facility management contracts (<ix:nonNumeric contextRef="Duration_10_1_2019_To_10_31_2019_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_qJv6rTnCrUOw3DapZWXfEQ" format="ixt-sec:durwordsen" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" id="Narr_LD2askkDX0ygebR8zhRb0A">6 years</ix:nonNumeric>).</p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">58</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_EokzcVSW3U--_Am6CCWxMg_1_2"></a><a id="Tc_z7C7Xsf5x0i2WPP6wnMzrQ_2_2"></a><a id="Tc_thaqExW-9keW3yD54zki8w_2_5"></a><a id="Tc_tVnv2SHmeUiI30tfAI8kMg_3_0"></a><a id="Tc_CgDCTx0EJE-gBOLizAADjA_4_0"></a><a id="Tc_gLltpQSPtUG8NWtzVnR4XQ_4_2"></a><a id="Tc_xz1rQvpOnEezMqwi1g1h-A_4_5"></a><a id="Tc_sapsuGfQbkSJkT0dTPRp4Q_5_0"></a><a id="Tc_8vtpUdkDEkq6nY-29ZJr2g_6_0"></a><a id="Tc_vUU7z1ES1EOwgjBNW9mdmw_8_0"></a><a id="Tc_MbJ7cBXb1U-xnhJCM-3exQ_9_0"></a><a id="Tc_ZMYufGOl60m2uYiNYo2f0w_10_0"></a><a id="Tc_bP8qP7DYf0ya4fHei54Diw_11_0"></a><a id="Tc_IiJCVeo2Lk2L0-3BjJ_3iQ_13_0"></a><a id="Tc_hvFLn8y27kCKIg-jQAl-EA_13_2"></a><a id="Tc_em041zyhREabB6vg1S_puw_13_5"></a><a id="_da97b67a_3c51_45dc_828c_405bab4e8d17"></a><a id="Tc_Vvt8ei5yCkSUMG5SGNA9Sw_1_0"></a><a id="Tc_liIMRI9FdUa_DXx1vrc6cg_1_2"></a><a id="Tc_hb2EUZxkTE-XV_zkOuLPfw_2_0"></a><a id="Tc_91EGiM8HoUWxVzO4QG3ccA_3_0"></a><a id="Tc_awDaueNhi0SrGBAmptALbg_4_0"></a><a id="Tc_WvIo8Nl6pk6vQMntNvZ-WA_5_0"></a><a id="Tc_VIOljo0C1kiWfyb41WFCug_6_0"></a><a id="Tc_dqaFspN4xE-CwTHJPgCaPw_7_2"></a><ix:continuation id="Tb_gC9kMxA8qEG0wvod6Zfaxw_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The costs and accumulated amortization for these assets were as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" id="Tb_Pu8ETQZh6U2sSt3L5tAI3A" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cost</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_dSyy5sHtkk-I4iK5xQeeqg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="0" id="Tc_qwxh6EECJEm2TExIPYSWzA_4_3">530,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_7xr6HpDAjES_eff6mejQ9g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="0" id="Tc_zXhF9sksEk-wud-Vxo-6Vw_4_6">530,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trade names</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_TradeNameMember_2rcjDwPRJ0ejPLHq9Lw65Q" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="0" id="Tc_ahswC8TEWEu0_IwTZHPBew_5_3">2,700,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_TradeNameMember_qMZ8XiFfpE2bNTaPCP05Ag" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="0" id="Tc_8dL18A2YRkWoCYTZYwVsog_5_6">2,700,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Facility management contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_ManagementContractsMember_VJ1yIW5kFkKdvZZUmgwUxw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="0" id="Tc_r4bfAPIHYkKaYTLhlEQbJg_6_3">2,200,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_ManagementContractsMember_y5_U8cT2Ekeb7YYl-1n1aA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="0" id="Tc_BKbHq7AI6kOvJ1U6mQ05gg_6_6">2,200,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="0" id="Tc_b-c8w_pW206GRg3RA0Mevw_7_3">5,430,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="0" id="Tc_Vsxtuhmc3kWu3EXJ4QkeUg_7_6">5,430,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_dSyy5sHtkk-I4iK5xQeeqg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="0" id="Tc_zw1CuCUcDEuY-z30IYWGmg_9_3">530,000</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_7xr6HpDAjES_eff6mejQ9g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="0" id="Tc_AhUgNHDWzU6c2fsRBvlLyg_9_6">493,889</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trade names</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_TradeNameMember_2rcjDwPRJ0ejPLHq9Lw65Q" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="0" id="Tc_1ygaH3Kk4kqZddsC1YqSIw_10_3">920,000</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_TradeNameMember_qMZ8XiFfpE2bNTaPCP05Ag" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="0" id="Tc_s8Wu_P-NtE-VaeRTBFR-PA_10_6">740,000</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Facility management contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_ManagementContractsMember_VJ1yIW5kFkKdvZZUmgwUxw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="0" id="Tc_tIVurOYdQEOrvvGjlQ_Myw_11_3">1,161,112</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_ManagementContractsMember_y5_U8cT2Ekeb7YYl-1n1aA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="0" id="Tc_qVsCOUaXqki7ImbdMejjvw_11_6">794,445</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="0" id="Tc_W--sVT8BAkyp_92lOaX3QQ_12_3">2,611,112</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="0" id="Tc_Cd-cyC4G00CTmQWz7zFz_w_12_6">2,028,334</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Intangible assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="0" id="Tc_ZNFAglvlRkiGHeCtUyohrw_13_3">2,818,888</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="0" id="Tc_52HgCeAKVUaNqOYRijQAJw_13_6">3,401,666</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" id="Tb_fLjJHFXpGka5FAQnRc6LMg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Amortization of intangible assets for each of the next five&#160;years and thereafter is expected to be as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" scale="0" id="Tc_kuU_-AvEqEmaVn-077KtKA_1_3">546,667</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" scale="0" id="Tc_q8TC58WljEq1tNJ7-ktDwA_2_3">546,667</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" scale="0" id="Tc_dBCq8aaPRkaHe2J5FhTuCw_3_3">485,554</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" scale="0" id="Tc_36oeB4IKa0iLJMlG5IcuXw_4_3">180,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" scale="0" id="Tc_4Otz2SuJtU-HI_fhF8p_2g_5_3">180,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" scale="0" id="Tc_yUECffwz7USTTJHzdWguQQ_6_3">880,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="0" id="Tc_3u7MknJSW0Sd_bJZ_bNuEQ_7_3">2,818,888</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Amortization expense was $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="0" id="Narr_Vu5iODcYRE6eTWaTI6H4dg">582,778</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="0" id="Narr_MdU3A7Yj6kOfxGqUKE7Onw">746,667</ix:nonFraction> for the years ended December&#160;31,&#160;2022 and 2021, respectively.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><a id="_Hlk126073549"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:LesseeOperatingLeasesTextBlock" id="Tb_rtB8eyPzNEWB7FIpp12QMA" continuedAt="Tb_rtB8eyPzNEWB7FIpp12QMA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">10. Leases</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s leases consist primarily of leases for office and warehouse space. For leases with terms greater than twelve months, the related asset and obligation are recorded at the present value of the lease payments over the term. Many of these leases contain rental escalation clauses which are factored into the determination of the lease payments when appropriate. When available, the lease payments are discounted using the rate implicit in the lease; however, the Company&#8217;s current leases do not provide a readily determinable implicit rate. Therefore, the Company&#8217;s incremental borrowing rate is estimated to discount the lease payments based on information available at the lease commencement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">These leases contain both lease and non-lease components, which the Company has elected to treat as a single lease component. The Company elected not to recognize leases that have an original lease term, including reasonably certain renewal or purchase obligations, of twelve months or less in its consolidated balance sheets for all classes of underlying assets. Lease costs for such short-term leases are expensed on a straight-line basis over the lease term.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The land used by the Company to operate its seawater desalination plants in the Cayman Islands and The Bahamas is owned by the Company or leased to the Company for immaterial annual amounts and is not included in the lease amounts presented in the consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">All lease assets denominated in a foreign currency are measured using the exchange rate at the commencement of the lease. All lease liabilities denominated in a foreign currency are remeasured using the exchange rate as of the consolidated balance sheet date.</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">59</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_4caf3049_fb85_4fff_b0f3_18f0738be51b"></a><a id="Tc_SXoDooQDsUmDuxwyp686FA_1_2"></a><a id="Tc_Q7uV3ccYDE-2SbX1BKVVkg_2_2"></a><a id="Tc_jdPxjYhkYUeFdVwM1pAD-Q_2_5"></a><a id="Tc_P52WwQeclEyX9op7Z2ZQUQ_3_0"></a><a id="Tc_ZMNA9JX1pkaXq2a2a2Tu0g_4_0"></a><a id="Tc_0U13JeuQsUyEczw4967DQQ_5_0"></a><a id="Tc_EZOQ8Q_740CB4Cznt0r3_g_5_2"></a><a id="Tc_NTkQ4nBAdkOrFvB2f8YkjA_5_5"></a><a id="Tc_diVfWHQzZE6a8HVg8TsP5Q_5_6"></a><a id="Tc_clrENLlyCECHnqLj9pj14Q_6_0"></a><a id="Tc_KeBGG0RXDE-VaZVFzHimJg_7_0"></a><a id="Tc_qyWX7Ja0tU6VKc9tyjm_8g_8_0"></a><a id="Tc_HZ5ozOS9uUmvz9KvsB63hQ_9_0"></a><a id="Tc__sLRlGurA02awJu4WEKDQA_9_3"></a><a id="Tc_gviv_7hzN0uctXtHR1qu0Q_10_0"></a><a id="Tc_Za58bkfFRU2WhxwlSTvY6Q_10_2"></a><a id="Tc_8FpLDMp0eUC5hkNUHZsaTg_10_5"></a><a id="Tc_9gLkl56s6E2S5hySdzn-ZQ_12_0"></a><a id="Tc_srri0Ffbl0qf_bSorAFJrA_13_0"></a><a id="Tc_P9_jIHuBiEaqHL4YG07GGg_14_0"></a><a id="Tc_D8Ii-8Ivrk-hb4VFn82_dw_14_2"></a><a id="Tc_9DtxodexcUKlkW7IhFHQEw_14_5"></a><a id="Tc_n-fwY2BWBkSkN87U598HQA_15_0"></a><a id="Tc_xIHN5hpFfEqeYrct09-0-g_16_0"></a><a id="Tc_pjdwkhuSlESdSmCMn4cBYA_17_0"></a><a id="Tc_epLqsTDJ2E27nUg-gW4LUg_18_0"></a><a id="Tc_r-G22HxoMk-jNnzomb4_NQ_18_3"></a><a id="Tc_4CEo3KaAKEigq-TuXvvn2A_19_0"></a><a id="Tc_8t4FuTCHQ02lxWYQkw-0Fg_19_2"></a><a id="Tc_h6wtFsHbC0CYJPV0ggTzIA_19_5"></a><a id="Tc_90jIe6uQwE21JbS_EGeUGA_21_0"></a><a id="Tc_lQIHDWvR3U6oMvzUiKyM8g_22_0"></a><a id="Tc_U6RDLrmOHUmVoTh9j-Ofbg_22_3"></a><a id="Tc_NNuBYKIUfUCi3FIyzHxV0A_22_6"></a><a id="Tc_eE82oPBKRkm4YN2pe_VQcQ_23_0"></a><a id="Tc_3WrDUM3Kc0-3Nhl42gIazA_23_3"></a><a id="Tc_8fzNAS_Zu0y5lOKrlRlh8w_23_6"></a><a id="Tc_95DuHrKmQkaHeUkEKd13pQ_25_0"></a><a id="Tc_A9Df6LKoc0GuJV2BVNwr-w_26_0"></a><a id="Tc_fB6xc2-6d0CiBlvEGKkI0w_27_0"></a><a id="_5737587f_975d_4ee7_882a_5acd93877328"></a><a id="Tc_NnNm_OgThEidf7jVWg6A3w_1_2"></a><a id="Tc_gBBjYqwqa0SjN7FBdoKtGA_2_2"></a><a id="Tc_E-BlRMegw0W-yxsrSDaZgQ_2_5"></a><a id="Tc_rNO69gt7BE6SnTYbdTs8hg_3_0"></a><a id="Tc_RcwwXYeTm02nH0UzfvNaSQ_3_2"></a><a id="Tc_Tajip5OZ6Um9dYpNS0Wn9A_3_5"></a><a id="Tc_7OQBe8SscEKDoFuLZlO11A_4_0"></a><a id="Tc_eJifDDWL3EGL81Q35vp6oQ_5_0"></a><a id="Tc_8ikzXfV8IEGNvcn9uQx58g_6_0"></a><a id="Tc_oJJkq9o8iU-Fpla4IW4V4A_6_2"></a><a id="Tc_fTvRLdRdV0eMXOsshtSQcA_6_5"></a><a id="_b09eeb69_415b_4f7c_a865_5063138cf918"></a><a id="Tc_XCq3q8cLakegIFg7VM_S1A_1_2"></a><a id="Tc_pptS3Ihms02jAtaAPa9v0Q_2_2"></a><a id="Tc_KJh6bIsJo0STyOx3HJRMkw_2_5"></a><a id="Tc_JXBpTMPeXE2eyPCTyCLbhQ_3_0"></a><a id="Tc_UcChiSMNmEaJEScFc6bL7Q_4_0"></a><a id="Tc_Pobk6UpXuEW378_jgon0ew_4_2"></a><a id="Tc_BCIFELRt1EmNkoUYt7F0Kg_4_5"></a><a id="Tc_ZaXg9zQRgk2EodD9lAQjDg_5_0"></a><ix:continuation id="Tb_rtB8eyPzNEWB7FIpp12QMA_cont1" continuedAt="Tb_rtB8eyPzNEWB7FIpp12QMA_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Lease assets and liabilities</i></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="cwco:LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock" id="Tb_EF3T9J0xQkWQnHuInX3Udw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The following table presents the lease-related assets and liabilities and their respective classification on the consolidated balance sheets:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">ASSETS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Current</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_JXh8waiEEEKrYIEZO0oMNA" decimals="0" format="ixt:numdotdecimal" name="cwco:OperatingLeaseAssetsCurrent" scale="0" id="Tc_KSgr4mINx0iUmrhdV1p3bw_5_3">35,624</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current assets of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="cwco:DisposalGroupIncludingDiscontinuedOperationLeaseCurrent" scale="0" id="Tc_NisAlAO38Ea91cNp06ZIfw_6_3">7,979</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="cwco:DisposalGroupIncludingDiscontinuedOperationLeaseCurrent" scale="0" id="Tc_v2ZHMf7gAEOAwhBaqrtoXA_6_6">2,654</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Noncurrent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating lease right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="0" id="Tc_6M6qMs0Wtku0ei5dWt8J0w_8_3">2,058,384</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="0" id="Tc_pwV2G2acjUSzL2OHm2if2A_8_6">2,681,137</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Long-term assets of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="cwco:DisposalGroupIncludingDiscontinuedOperationLeaseNoncurrent" scale="0" id="Tc_obCEg3EQNEGEK44xrxD_Bg_9_6">16,898</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="cwco:OperatingLeaseRightOfUseAssetNet" scale="0" id="Tc_oUlmAacLV0y__lZdSIWn8w_10_3">2,101,987</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="cwco:OperatingLeaseRightOfUseAssetNet" scale="0" id="Tc_LROT9viBwkiB4KVqHArvYQ_10_6">2,700,689</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">LIABILITIES</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Current</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current maturities of operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="0" id="Tc_KmVljmvZXEqPm27eq-0mGw_14_3">546,851</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="0" id="Tc_WaCw54jFHE6ibfOjyW6vag_14_6">592,336</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current liabilities of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="cwco:DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities" scale="0" id="Tc_DSNG264LWkWqurcDSuPnxQ_15_3">7,361</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="cwco:DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities" scale="0" id="Tc_Rdt9uqK1v0yGiCBdFqiQOw_15_6">11,195</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Noncurrent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Noncurrent operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="0" id="Tc_q0nMKuQuQE-hI1YhQo6rTQ_17_3">1,590,542</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="0" id="Tc_N3Ms_iVU4ki-Rhts5bTJ7g_17_6">2,137,394</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Noncurrent liabilities of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent" scale="0" id="Tc_9zfBEMPJBEifhll5ki8BfA_18_6">7,819</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="cwco:OperatingLeaseLiabilityIncludingDiscontinuedOperations" scale="0" id="Tc_Q1zQgJQUTk2aTk3Pb5Uaaw_19_3">2,144,754</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="cwco:OperatingLeaseLiabilityIncludingDiscontinuedOperations" scale="0" id="Tc_IS8XPJJshkemV4yuxHrd0Q_19_6">2,748,744</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Weighted average remaining lease term:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Narr_I654P9YfeECYhUIUbhP_Mw">6.6</ix:nonNumeric> years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Narr_cOrNoH-HE0ayTFij22L3_A">7.0</ix:nonNumeric> years</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating leases - discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="As_Of_12_31_2022_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_us-gaap_SegmentDiscontinuedOperationsMember_JCZRleBWJkGWVn_E0g9T5w" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Narr_ApIz8nA1okWl8SWuXFrGxA">0.8</ix:nonNumeric> years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="As_Of_12_31_2021_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_us-gaap_SegmentDiscontinuedOperationsMember_WgnnAf8oCUa5AzpqHy0lwA" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Narr_CfapypH6O0uGGM1yUWJRKA">1.6</ix:nonNumeric> years</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Weighted average discount rate:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="6" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_mkYUcYkNnk6qMF9T6IaYKg_26_3">5.11</ix:nonFraction>%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="6" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_lCP4Sxm81k2vCcv3a_rj3w_26_6">5.03</ix:nonFraction>%</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating leases - discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="As_Of_12_31_2022_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_us-gaap_SegmentDiscontinuedOperationsMember_JCZRleBWJkGWVn_E0g9T5w" decimals="6" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_7JAUVo7HN0GoCAAR4gJqRQ_27_3">4.96</ix:nonFraction>%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="As_Of_12_31_2021_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_us-gaap_SegmentDiscontinuedOperationsMember_WgnnAf8oCUa5AzpqHy0lwA" decimals="6" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc__BmDadZIaEq4CryyJq_xkQ_27_6">4.77</ix:nonFraction>%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:LeaseCostTableTextBlock" id="Tb_UvvTWG3ZUkG16H1h2a6vQQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The components of lease cost were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating lease costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseCost" scale="0" id="Tc_GRdIwtId7EahRfq4PU9kug_3_3">692,404</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseCost" scale="0" id="Tc_Szr_J8bhiU2l6MxmeN2V0w_3_6">656,130</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Short-term lease costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShortTermLeaseCost" scale="0" id="Tc_mp_hF-SuU0Gne2kfTCgY0Q_4_3">100,975</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShortTermLeaseCost" scale="0" id="Tc_ciPl7bdJoUGXTvaPBb3j7A_4_6">79,606</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Lease costs - discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="cwco:OperatingLeaseCostsDiscontinuedOperations" scale="0" id="Tc_RjSon1Ymok27c9xYhnVGiA_5_3">40,021</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="cwco:OperatingLeaseCostsDiscontinuedOperations" scale="0" id="Tc_bC0WWhjTwEOlmWqDXf40ZA_5_6">31,281</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LeaseCost" scale="0" id="Tc_w3PzCoK2HEe05V6uEJiTMQ_6_3">833,400</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LeaseCost" scale="0" id="Tc_MTl1xCqr2kORazLnw2E03Q_6_6">767,017</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" id="Tb_ehed98OYTEqzzmu-wCv07A" continuedAt="Tb_ehed98OYTEqzzmu-wCv07A_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Supplemental cash flow information related to leases is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cash paid for amounts included in measurement of liabilities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating cash outflows for operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasePayments" scale="0" id="Tc_Kd8bw9RlAkCMymNmg-hKVw_4_3">742,696</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasePayments" scale="0" id="Tc_ewTlFvh4dEKW1hQ-vtRI4A_4_6">710,024</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating cash outflows for operating leases - discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="cwco:OperatingLeaseDiscontinuedOperationsPayments" scale="0" id="Tc_arCgkaQNMkSf1WcJ9hHSjQ_5_3">9,590</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="cwco:OperatingLeaseDiscontinuedOperationsPayments" scale="0" id="Tc_vk_aFd7lSkSkAs4t_pKCjg_5_6">38,246</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">60</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_0eOdRCj-u0-IxyxOvhbroQ_1_0"></a><a id="Tc_9x1_WH7mw0awXxB3e31N-Q_1_2"></a><a id="Tc_dRnpnwQNb0y91gezL3GIBQ_2_0"></a><a id="Tc_6a8npUkuFkKV7BHE4u9ZyA_2_2"></a><a id="Tc_J9VMY10iSEWXR4sPPYggcg_3_0"></a><a id="Tc_fs57DrwSMkqLbpEC7VmWFw_4_0"></a><a id="Tc_WQsT1oz-GUif-qjWHJW2mQ_5_0"></a><a id="Tc_qXEnQ5xN0UOmcPx0dkjgTA_6_0"></a><a id="Tc_IL5sWzHPkESz0lo6bAomag_7_0"></a><a id="Tc_Y3ln5WQFPE-UQNG0sp8SoQ_8_0"></a><a id="Tc_gbb9iD8650u5hW2EvwI_nA_9_0"></a><a id="Tc_b3cXp1KLbkuQ7-ZtttWMWg_10_0"></a><a id="Tc_PqSQZi-dEUWhCj3SH70l8g_11_0"></a><a id="Tc_QVGn_0BqbUWR7FfzkQGDZQ_12_0"></a><a id="Tc_g2hYpMiBQkGBWGhQrhooTQ_12_2"></a><ix:continuation id="Tb_rtB8eyPzNEWB7FIpp12QMA_cont2"><ix:continuation id="Tb_ehed98OYTEqzzmu-wCv07A_cont1"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Future lease payments relating to the Company&#39;s operating lease liabilities from continuing operations as of December 31, 2022 are as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="Tb_wHiqefURyk2FixVE3q8kJg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:84.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Years ending December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" scale="0" id="Tc_TH5LimAlkUmaokBY3usejQ_2_3">643,233</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" scale="0" id="Tc_p6sloRYkiU6cvu--_IbzVg_3_3">390,630</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" scale="0" id="Tc_cy9wsTWd4ECFnTN_INtX9g_4_3">268,056</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" scale="0" id="Tc_NsP6lRhkMkSbtd3SsCNj_g_5_3">227,542</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" scale="0" id="Tc_4Ychv1WQkEKotGi5wSqtpg_6_3">229,416</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" scale="0" id="Tc_cSaEAq3yyEepzakpDQK9eA_7_3">778,460</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total future lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="0" id="Tc_y6V2hK_86ECXrC-wyj_iMw_8_3">2,537,337</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="0" id="Tc_bky3NVmD0EqS4voX9RV-cg_9_3">399,944</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="cwco:OperatingLeaseLiabilitiesContinuingOperations" scale="0" id="Tc_QTbgvSQYeE-Y2oi040FGfg_10_3">2,137,393</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: current obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="0" id="Tc_z0KNQ69p5kSTcVV7jYK7hw_11_3">546,851</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Noncurrent lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="0" id="Tc_s9uM6YzjMEafXG00grtTaw_12_3">1,590,542</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="_30eeeb59_ce6e_45cd_be07_34f47a681c33"></a><a id="Tc_qDcOqreYb0aV-Y_Oehq_8A_1_2"></a><a id="Tc_bh-PHmoDx0Snr3snk4DJhg_2_2"></a><a id="Tc_h2tWCDgc5EKLDXf40-hUpg_2_5"></a><a id="Tc_yw6MDaK0bEunQslB2_j8xA_3_0"></a><a id="Tc_O_SWl8H1mkajtMMdUw4XQQ_3_2"></a><a id="Tc_JMIUIfbT30qzWb9tXmzOeg_3_5"></a><a id="Tc_UO4tFtcc8U2BCAPiK_f9Ag_4_0"></a><a id="Tc_Ldjl9RkUVEOu6lofmzk9yg_5_0"></a><a id="Tc_wFglluT0l0CrW2ETZMPriQ_7_0"></a><a id="Tc_LcM0kYxMtEqZFytZKQmJvA_8_2"></a><a id="Tc_nA9PIPkOz0CJ2XtFkwAOzA_8_5"></a><a id="_15d52da1_0a0c_4c1f_bd5b_661d210f02b9"></a><a id="Tc_FMTMQk2TDkGNhIMEGis_-g_1_2"></a><a id="Tc_tx_am0lqsk6sTDg2KZJi2g_2_2"></a><a id="Tc_qSGlbZY-v0yiFMUtNCly8Q_2_5"></a><a id="Tc_372W7CkUyEuAOPw8ey88FQ_3_0"></a><a id="Tc_QdLxaoLsaEKFtP4Dk0JBJA_4_0"></a><a id="Tc_IYmWUu6GCk20nxZfJqx0ug_4_2"></a><a id="Tc_Vc2skk7rtUqKzkHRrGCbWg_4_5"></a><a id="Tc_8wM1H8s55ESN7UJ43znU9w_5_0"></a><a id="Tc_6zZ0o54R5E64udMfjEN6Qw_6_0"></a><a id="Tc_LUx_w5knakmTr7UVqqguQg_6_3"></a><a id="Tc_sxo8xWckQkCvW9UERjUhNg_6_6"></a><a id="Tc_v8TpF642-ECkvK28BOgrhA_7_0"></a><a id="Tc_IrfR1Kn73EepyqJlF-Fptg_8_0"></a><a id="Tc_E19msqBlFUOPE-L98tZHrA_9_0"></a><a id="Tc_4cMgzAUU6UuY9kc10HPQxg_10_0"></a><a id="Tc_cLIlTsECKkWCzfEUgz_2Gg_11_0"></a><a id="Tc_NBEUi5ZYWEO35w_tpmyowg_11_3"></a><a id="Tc_kuXAD-K2ukaDl7s79gMkVA_11_6"></a><a id="Tc_xmc-gbkp40Oue9nNAZPuMg_12_0"></a><a id="Tc_JbpJrPap4kS6gTPnnvQTOQ_13_0"></a><a id="Tc_GuoZKKsxGkGK8gjXZqnDXg_13_2"></a><a id="Tc_HAK64bHKwkqzeRn5wK_v6g_13_5"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:IncomeTaxDisclosureTextBlock" id="Tb_tFepY_s1DUKuslq0y6d51A" continuedAt="Tb_tFepY_s1DUKuslq0y6d51A_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">11. Income taxes</b></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" id="Tb__08IiT1TFEWtyudeiEhmUQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The components of income before income taxes for the years ended December 31, 2022 and 2021 are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:72.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign (not subject to income taxes)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="cwco:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes" scale="0" id="Tc_Z-LNW_y_lUeP3EG5Mn4Xcw_3_3">6,958,583</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="cwco:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes" scale="0" id="Tc_sdet9aEu9kCR6iHCXBJqSg_3_6">5,780,692</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Mexico</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" sign="-" scale="0" id="Tc_kA5LwdpiTU-i8AlUPnSIXA_4_3">987,279</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" sign="-" scale="0" id="Tc_bm7k_brDXEOCafW6KsaPfw_4_6">1,767,915</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" scale="0" id="Tc_cBxeBSlCD0OxzQLqzIoAaQ_5_3">1,394,642</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" sign="-" scale="0" id="Tc_SHDpDoox4k2LfKL1ar5UFQ_5_6">2,952,265</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" scale="0" id="Tc_zc72_spKAU-DhMuKvoV-Dw_6_3">7,365,946</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" scale="0" id="Tc_wkQ94VyhJUCeIOlp_A8WGw_6_6">1,060,512</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="cwco:IncomeLossFromDiscontinuedOperations" scale="0" id="Tc_YPLpxUzGOEO7y4R_UdzEJQ_7_3">2,371,049</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="cwco:IncomeLossFromDiscontinuedOperations" scale="0" id="Tc_5MLI9NMJQEuCkQiCYU4uiA_7_6">2,574,079</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="0" id="Tc_xYbFIGYFWkaJGdd65Ngyug_8_3">9,736,995</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="0" id="Tc_M5jlg9pyEE2Y1AYCjwc7xw_8_6">3,634,591</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" id="Tb_Y6VxsMPkK0mXpw_j_Ho57A" continuedAt="Tb_Y6VxsMPkK0mXpw_j_Ho57A_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company&#8217;s provision (benefit) for income taxes for the&#160;years ended December&#160;31, 2022 and 2021, which related to U.S. operations, consists of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CurrentFederalTaxExpenseBenefit" scale="0" id="Tc_G_oz2B0H7k6MPVYusgaflQ_4_3">430,116</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CurrentFederalTaxExpenseBenefit" scale="0" id="Tc_ys5zpffE8E6XH-t1P3z2Ew_4_6">202,444</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" sign="-" scale="0" id="Tc_L7Gz_vkMwUemudleBrCMiQ_5_3">29,157</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" sign="-" scale="0" id="Tc_1ebEt6OeMUShlVQlngYPeQ_5_6">895</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="0" id="Tc_0puqz2bcDU21AQoJ9QrByg_7_3">400,959</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="0" id="Tc_J8gYY-P0akqyfymZtD5VEw_7_6">201,549</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" sign="-" scale="0" id="Tc_YAUrHtrpekmESGeOEPEVXg_9_3">184,469</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" sign="-" scale="0" id="Tc_Lues0l88NEqXWMQMSUYS0Q_9_6">524,733</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" scale="0" id="Tc_QbZxGbpnBU2TFwXgxjEppg_10_3">180,249</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" sign="-" scale="0" id="Tc_gYbvIWxm7UCQp_OUqbavPw_10_6">124,798</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" sign="-" scale="0" id="Tc_UCijIaq9NU2Y4UlnT7bu1Q_12_3">4,220</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" sign="-" scale="0" id="Tc_XDr9rIEfQ0yfJwN5bKcsdA_12_6">649,531</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total provision (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="0" id="Tc_kx3Uw59EHE2eL1dxuu0PJw_13_3">396,739</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="0" id="Tc_zXooYlFX00WbJtdWR_XyuQ_13_6">447,982</ix:nonFraction>)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">61</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_1db4ae32_c6b0_4ce5_b979_6f09bc7296bb"></a><a id="Tc_aRgtozgjEUSDzXUqRbf_DA_1_2"></a><a id="Tc_IwXu9E5stkSMdVquzqVZIA_2_2"></a><a id="Tc_QdRPf8PR6UuNFDZzj38fYA_2_4"></a><a id="Tc_sumlvSdwyEeS3XEe03Z3lA_3_0"></a><a id="Tc_905R3vvq70q6HEc_rYQPyQ_3_3"></a><a id="Tc_wkD-0w1GakiZwRWq3Th51w_3_5"></a><a id="Tc__epcnglaZESOTswm4_3vbA_4_0"></a><a id="Tc_kSFbX95IaEyGLzsWv9E9kg_4_3"></a><a id="Tc_eExnRiv3RkOnyUNLi8V_fw_4_5"></a><a id="Tc_tDioRaRPtE6VbtHtjE_Ong_5_0"></a><a id="Tc_6j8YaV1YqEmGd0LxewkZ_w_5_3"></a><a id="Tc_6N_ENIVoQkKNhrNoTKYPzw_5_5"></a><a id="Tc_4zE5QgX2IEu6ubB8VZihTQ_6_0"></a><a id="Tc_k7mxSsSCeUCZ8wfNdvkWqQ_6_3"></a><a id="Tc_E7iMvMt-rECPzN5t0AaARw_6_5"></a><a id="Tc_EfJI2DLvyEahCgzMiJ9QXw_7_0"></a><a id="Tc_TwaHf_tVqEGZhHS4_Boahg_7_3"></a><a id="Tc_xXW1NRNKvk2_VHF4PfuhVw_7_5"></a><a id="Tc_vIoZkpSIgkqbH3LlKqo47Q_8_0"></a><a id="Tc_DtnGsY80Y0ORYm2u_UW7tA_8_2"></a><a id="Tc_4rnjKhnwDkKwnhbLNPlppA_8_3"></a><a id="Tc_srPjCaBiSUem092A5WrC6Q_8_5"></a><a id="Tc_MIhn9eDovk-7nSZlKsS2Kg_9_0"></a><a id="Tc_aD9NqMiWS0aGhhVU9dGj6g_9_3"></a><a id="Tc_d8xtfUnpDkCF7mcKydSa_g_9_5"></a><a id="Tc_mnNF5gCmnkyv5dPxOZz7Uw_10_3"></a><a id="Tc_lgvpHYNaykqiQ_jtztFf_Q_10_5"></a><a id="_a1b1ed10_093d_4541_8a70_0529b5403516"></a><a id="Tc_bVzCWavyB0aQte40O5ZJwQ_1_2"></a><a id="Tc_WVmQDQl52Ey6bPe7w5aV-w_2_2"></a><a id="Tc_rSjKNhhbFEeHwHNeJIRo6A_2_5"></a><a id="Tc_KZWK03kezkSc355IQ4aRRg_3_0"></a><a id="Tc_YsKxlaSV-0SW5w8e2gZgEg_4_0"></a><a id="Tc_xpalMQBl90egnPDXEl5qCQ_5_0"></a><a id="Tc_jeSRrAUTbUaORcYEtmMb2g_5_2"></a><a id="Tc_Da60QRHUN0aJ0jGkpZWC1Q_5_5"></a><a id="Tc_NbMWWnOXYkaxI9HmBrFsMA_6_0"></a><a id="Tc_ZauI3S_zNUOK31MIawUqUw_7_0"></a><a id="Tc_-E0rczLiKkC11HJfNlRrHw_8_0"></a><a id="Tc_IgIiQVqS90ST7EzrsLii1A_9_0"></a><a id="Tc_p0ZBD_3RFUug_K4vmmfEQQ_11_0"></a><a id="Tc_kcG4rkG6vUOnCFAkwKJYmw_12_0"></a><a id="Tc_L-yQeIEJAUCMlzVCLTEdAA_13_0"></a><a id="Tc_AvE6b6VCfkKCy2VAtzXKfw_14_0"></a><a id="Tc__FrERVcDs0eSVLwbPNttSA_17_0"></a><a id="Tc_bv-wVy5DbkO0KJ7q8QWA_w_17_2"></a><a id="Tc_DLeW6Xw2eke43hsonIV8bA_17_5"></a><a id="Tc_u8Be6iMp-0qDfQ1x9qHgYw_19_0"></a><a id="Tc_KzWDH557XkqJDxKAlIPD0w_20_0"></a><a id="Tc_rpszL18dsUC_xWDcbPPfeg_21_0"></a><a id="Tc_FbIh00GyZkqEtz0kXqqlbA_21_2"></a><a id="Tc_z2UTfrmWtUi1ByfjM6ZrSw_21_5"></a><a id="Tc_XjeCCzHI00CAA0tZOtDQZA_22_0"></a><a id="Tc_stHt6qr4oEWieBFivVVx2A_23_0"></a><a id="Tc_B6K-prKLI0eDZhKoC9atRg_24_0"></a><a id="Tc_0T7aUpfmuEWx5i1lHzAf3w_25_2"></a><a id="Tc_wrvM2u5Z6UKVT1upwjyBZg_25_5"></a><ix:continuation id="Tb_tFepY_s1DUKuslq0y6d51A_cont1"><ix:continuation id="Tb_Y6VxsMPkK0mXpw_j_Ho57A_cont1"></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="Tb_xYCZVshKKUqB3l6jIYgpyw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">A reconciliation of the U.S. statutory federal tax rate to the effective rate for the&#160;years ended December&#160;31, 2022&#160;and 2021 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:72.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">U.S. statutory federal rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="Tc__9-CoAPlHkKalcN-V79bfg_3_2">21.00</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="Tc_1j-0xVuXBkunvSLKulneHA_3_4">21.00</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:top;width:72.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">State taxes, net of federal effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" id="Tc_mppry8BjOE2qaOeaDQzT3w_4_2">8.88</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" id="Tc_rfV0qU0dTky7mHFMvUli4w_4_4">2.72</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:top;width:72.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Nontaxable foreign income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" scale="-2" id="Tc_OasiD6zPK0Oy36PNoM3OvA_5_2">25.57</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" scale="-2" id="Tc_sojeDmjUjEGiCSpymxJHdA_5_4">43.36</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Research &amp; development tax credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" scale="-2" id="Tc_SKIFpuDB0EqR6HaDCMRidQ_6_2">1.92</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" scale="-2" id="Tc_z_lvSFJZVkq6HQQHcxYkAw_6_4">7.39</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:top;width:72.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Permanent items</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="4" format="ixt:numdotdecimal" name="cwco:EffectiveIncomeTaxRateReconciliationPermanentItems" sign="-" scale="-2" id="Tc_zmjpqpDIEUO4hrGL7qAi4A_7_2">0.70</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="4" format="ixt:numdotdecimal" name="cwco:EffectiveIncomeTaxRateReconciliationPermanentItems" sign="-" scale="-2" id="Tc_qJX76qdfqky_gQvJI-5IkA_7_4">6.26</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:top;width:72.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill impairment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="4" format="ixt:numdotdecimal" name="cwco:EffectiveIncomeTaxRateReconciliationGoodwillImpairmentPercent" scale="-2" id="Tc_XY813jc0QEyQsvjJTNjenw_8_4">20.31</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:top;width:72.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Valuation allowance for deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="-2" id="Tc_0e0S0JNyM0e6f_zMU02IOA_9_2">2.38</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="-2" id="Tc_i_zBNFdSUE-UUiPdTEZMMg_9_4">0.65</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:72.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="Tc_73lZ3hWzu0S0IHD4XHI7dw_10_2">4.07</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" sign="-" scale="-2" id="Tc_y6PsuKXxikm6ZC_zCZUopw_10_4">12.33</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" id="Tb_l2ukJ3-yyUWKUqCSiVcR2A" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The tax effects of significant items comprising the Company&#8217;s net long-term deferred tax liability as of December&#160;31, 2022 and 2021 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Continuing Operations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Research &amp; development tax credits</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch" scale="0" id="Tc_p5Wxcmm8W0SrQikbLVexTw_5_3">58,069</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch" scale="0" id="Tc_Pgcq1IQKSEOWQaB_FQtA7A_5_6">398,413</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Loss carryforward</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsCapitalLossCarryforwards" scale="0" id="Tc_9CD-p6UmSk-gd0l53KoBcA_6_3">443,076</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsCapitalLossCarryforwards" scale="0" id="Tc_2xZE1BzMVUWLQzNXe-E08g_6_6">300,545</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Accrued compensation</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" scale="0" id="Tc_H2mrp6QnNU-Ff4I1jvKF7A_7_3">82,503</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" scale="0" id="Tc_OpiGQd7hrkSFXG5HPIQZhg_7_6">112,446</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Operating lease liabilities</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="cwco:DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities" scale="0" id="Tc_jTtQtck8-0-2afkUwzUyWQ_8_3">412,840</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="cwco:DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities" scale="0" id="Tc_ngA9rSovckGT_NI7fvyvVQ_8_6">469,398</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Valuation allowances</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="0" id="Tc_DxbFKmAJgEKaMN3bq1DsjA_9_3">29,036</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="0" id="Tc_p5-5fM3jzk6k6KQQvtatsQ_9_6">139,207</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsNet" scale="0" id="Tc_fyX4QQX-VkSi5D2_dKFscQ_10_3">967,452</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsNet" scale="0" id="Tc_dr3tiY1Q3UKrCWD1q3OBvw_10_6">1,141,595</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Property and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" scale="0" id="Tc_44xfw-KQ_Eqa43u9-jG2FA_12_3">293,195</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" scale="0" id="Tc_VdLveH36N0q7vtMDf2tvKA_12_6">254,301</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" scale="0" id="Tc_2k7fMa-MjEKpPp8Ijn4khg_13_3">821,723</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" scale="0" id="Tc_wiv4Eskfwk2CPegOTHLcpA_13_6">982,422</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating lease right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="cwco:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" scale="0" id="Tc_oR9rxI1b5UydJLxdnjR4Vw_14_3">412,840</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="cwco:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" scale="0" id="Tc_CnEi_8gV2kKzHHTTrZ7C9A_14_6">469,398</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="0" id="Tc_DDzlPCFm50ufGtiXUdjCVg_15_3">1,527,758</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="0" id="Tc_sviNEIybIUiYfnEPhYqb7A_15_6">1,706,121</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net deferred tax liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="0" id="Tc_PSdGLH3gkUeCd1VTC6NJcw_17_3">560,306</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="0" id="Tc_Vj5P7hFYVUierN8Xw-Sq4Q_17_6">564,526</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Discontinued Operations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax assets: </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Operating loss carryforwards - Mexico</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_cb8Hwa4bnkurzN00jZkoNw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign" scale="0" id="Tc_oIi5PatkhUy8G_yws12yCQ_21_3">5,378,177</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_BRXp6TrknEizerUcsq5ffw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign" scale="0" id="Tc_vzzpwdd9AU-9fxhzjSyDKw_21_6">4,230,398</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Land basis difference - Mexico</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_cb8Hwa4bnkurzN00jZkoNw" decimals="0" format="ixt:numdotdecimal" name="cwco:DeferredTaxAssetsLandBasisDifference" scale="0" id="Tc_irA1Q-pB_0uo9jX34TeD8w_22_3">2,163,681</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_BRXp6TrknEizerUcsq5ffw" decimals="0" format="ixt:numdotdecimal" name="cwco:DeferredTaxAssetsLandBasisDifference" scale="0" id="Tc_4jYap-yQL0WDYUg_am_nuQ_22_6">1,602,470</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Start-up costs - Mexico</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_cb8Hwa4bnkurzN00jZkoNw" decimals="0" format="ixt:numdotdecimal" name="cwco:DeferredTaxAssetsStartupCosts" scale="0" id="Tc_U0SewwAKqE-Vfk_yH0RHmg_23_3">4,274,858</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_BRXp6TrknEizerUcsq5ffw" decimals="0" format="ixt:numdotdecimal" name="cwco:DeferredTaxAssetsStartupCosts" scale="0" id="Tc_lNlBWMWFfECSFxmVGtNYXQ_23_6">4,693,395</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Valuation allowances</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_cb8Hwa4bnkurzN00jZkoNw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="0" id="Tc_GarayAmaPkqs7UelQQunpw_24_3">11,816,716</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_BRXp6TrknEizerUcsq5ffw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="0" id="Tc_6hB3ZYQIEUeoWNpOqPrBJw_24_6">10,526,263</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_cb8Hwa4bnkurzN00jZkoNw" decimals="0" format="ixt:zerodash" name="us-gaap:DeferredTaxAssetsNet" scale="0" id="Tc_gZIMq3baeU2NNGzMVUbKsw_25_3">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_BRXp6TrknEizerUcsq5ffw" decimals="0" format="ixt:zerodash" name="us-gaap:DeferredTaxAssetsNet" scale="0" id="Tc_5VH7yp4vvEOvJRIj750r9Q_25_6">&#8212;</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of December 31, 2022, continuing operations has a federal net loss carryforward of $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_sxJ6C8OwfkiN2lItOCO1iw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLossCarryforwards" scale="6" id="Narr_rCoFQCYhT0-PXJZ5KFN3cQ">1.7</ix:nonFraction> million and a state net loss carryforward of $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_us-gaap_StateAndLocalJurisdictionMember_TrJgMKQXDUetfuk7-YM0KA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLossCarryforwards" scale="6" id="Narr_nZ58IjRvrk-tIOfXXGgYPA">1.6</ix:nonFraction> million, both of which have an indefinite expiration date. Discontinued operations has a net loss carryforward of $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_cb8Hwa4bnkurzN00jZkoNw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLossCarryforwards" scale="6" id="Narr_ApuBlXSpkE2tILDobZ1NAg">17.9</ix:nonFraction> million that will begin to expire, if unused, in various amounts between 2023 and 2032. The unused research &amp; development tax credit carryforwards from continuing operations of $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReconciliationTaxCreditsResearch" scale="0" id="Narr_pGNKBshKO0uc4s-JeOAkXg">58,069</ix:nonFraction> as of December 31, 2022 have an indefinite expiration date.</p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:EarningsPerShareTextBlock" id="Tb_OKiQkHBbBEe1-y9Qpqd_RQ" continuedAt="Tb_OKiQkHBbBEe1-y9Qpqd_RQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">12. Earnings per share</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Earnings per share (&#8220;EPS&#8221;) is computed on a basic and diluted basis. Basic EPS is computed by dividing net income (loss) (less preferred stock dividends) available to common stockholders by the weighted average number of common shares outstanding during the period. The computation of diluted EPS assumes the issuance of common shares for all potential </p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">62</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_yjVNzrp1k0mBqD21Ef1CgQ_1_2"></a><a id="Tc__9_YF62kdEeWXbfrk104Ng_2_2"></a><a id="Tc_rem4eNZtQUGTNOi3HWFmCw_2_5"></a><a id="Tc_GKnEuaBLzEempPVuNVIFtg_3_0"></a><a id="Tc_ZgVKkVXid0qeqa8Qk2DpWQ_3_2"></a><a id="Tc_yCpFs5e8nE6h3P5004WQtw_3_5"></a><a id="Tc_VCOKvAw7cEypIUewCQCwdQ_4_0"></a><a id="Tc_0maHnrVn_kWRFwO7JSpmNg_5_0"></a><a id="Tc_7WcFZfK4zEyYzhAkYFYTtg_6_0"></a><a id="Tc_PKNGyIXIxkKVPPscK_6D6g_7_0"></a><a id="Tc_1eBZn6XnqECPZ9UeZvaZVQ_7_2"></a><a id="Tc_8IDbx4I3pkqSK8DBulGaTQ_7_5"></a><a id="Tc_SX41j4ziTkm_SzSHWUFuhQ_9_0"></a><a id="Tc_WpkcwRGStky88TjpCAihhw_10_0"></a><a id="Tc_IRMFfmz3ykSXE7WWEHi6uA_11_0"></a><a id="Tc_2sxA1ZOeL0WmyQ1hzEAzaA_12_0"></a><a id="Tc_rWXMDyVYkE2MUUT6XyT3UQ_13_0"></a><ix:continuation id="Tb_OKiQkHBbBEe1-y9Qpqd_RQ_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">common shares outstanding during the reporting period and, if dilutive, the effect of stock options as computed under the treasury stock method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The following summarizes information related to the computation of basic and diluted EPS:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="Tb_B8DFp-L8uU-LPniffb-QAg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperations" scale="0" id="Tc_zRIao1LZI0OOUQtv7NszrA_3_3">8,227,343</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperations" scale="0" id="Tc_ezuwMTffckeM8l24BUL2yw_3_6">3,449,658</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: preferred stock dividends</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DividendsPreferredStock" scale="0" id="Tc_79WiL2g84UCXVr1tlrXmPA_4_3">11,532</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DividendsPreferredStock" scale="0" id="Tc_Iz-7WnqUXke_JC-duufh6w_4_6">10,796</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income from continuing operations available to common shares in the determination of basic earnings per common share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic" scale="0" id="Tc_a7MoChw9LE6rAkMrN2IIWg_5_3">8,215,811</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic" scale="0" id="Tc_Lo97JJCkNEyoXlnvTsKK_Q_5_6">3,438,862</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total loss from discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax" sign="-" scale="0" id="Tc_grrfJQk9BUKLja6ftODkEw_6_3">2,371,049</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax" sign="-" scale="0" id="Tc_jS2kVZiGv0mu7Adv0VtNOA_6_6">2,574,079</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income available to common shares in the determination of basic earnings per common share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="0" id="Tc_KFAT6vLx2EydiJvjwRblUw_7_3">5,844,762</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="0" id="Tc_kR2F4WmT1UeS0elsF3ppTg_7_6">864,783</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average number of common shares in the determination of basic earnings per common share attributable to Consolidated Water Co. Ltd. common stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_0qXQWajDxEOFF6cWMWQdcg_9_3">15,290,509</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_PiMAyFLdiEK_Jy0_QgmmqQ_9_6">15,213,816</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Plus:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average number of preferred shares outstanding during the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToConversionOfPreferredStock" scale="0" id="Tc_PZuBUuRpV06rz0O_MgKxvw_11_3">31,885</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToConversionOfPreferredStock" scale="0" id="Tc_JHlkedRvL0aJTU-K1_ozrA_11_6">30,348</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Potential dilutive effect of unexercised options and unvested stock grants</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants" scale="0" id="Tc_99nBx8h-_EW4LuEcURJR4A_12_3">79,259</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants" scale="0" id="Tc_kOiwKW3UeEWd3wAfJwFMwA_12_6">65,981</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average number of shares used for determining diluted earnings per common share attributable to Consolidated Water Co. Ltd. common stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_RO-hvoiTa0uVTh4jy6evZw_13_3">15,401,653</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_KnShYxXLoEKt7q4WF915_Q_13_6">15,310,145</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="Tc_Y0DzraqNy06CccbYaisrBA_1_2"></a><a id="Tc_zQtr8-_bK0KwSgkNwVItkg_1_5"></a><a id="Tc_7kBcsA82PUKOcff_Urb6Og_2_0"></a><a id="Tc_bEhgk-HdyE2_Ov7kNEde3g_2_2"></a><a id="Tc_5DVGPk_jB0WzAEWJUrUuXw_2_5"></a><a id="Tc__k946yHJo0mrUph5NJ9yqw_3_0"></a><a id="Tc_q7O3CmrAO0SLbGI6FV8Lww_4_0"></a><a id="Tc_ySTOCW9suEyr12TUX549gQ_5_0"></a><a id="Tc_PPtC_RN_DUCHBL6Z1wov9Q_6_2"></a><a id="Tc_ENgTSLgmpkqdU28LG0dffA_6_5"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="cwco:DividendsTextBlock" id="Tb_Pw5OXd67TEKf_wy_vkliyQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">13. Dividends</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Interim dividends declared on Class&#160;A common stock and redeemable preferred stock for each quarter of the respective&#160;years ended December&#160;31, 2022 and 2021 were as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:DividendsDeclaredTableTextBlock" id="Tb_ITZB-Ng3cESi-skK8ul-aw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">First Quarter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2022_To_3_31_2022_VZ-Hp1VMckyT6pla0npLNw" decimals="3" format="ixt:numdotdecimal" name="cwco:DividendsPerShareDeclared" scale="0" id="Tc_iWd2C5r1iUCkTmnUFn_7rg_2_3">0.085</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2021_To_3_31_2021_uuEE-5V0ZkWDT-R-7k-0qw" decimals="3" format="ixt:numdotdecimal" name="cwco:DividendsPerShareDeclared" scale="0" id="Tc_fgwcZq4pnk-lCQJG5cuN-g_2_6">0.085</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Second Quarter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_4_1_2022_To_6_30_2022_KWISKwBNxk6Fodei6dW_oA" decimals="3" format="ixt:numdotdecimal" name="cwco:DividendsPerShareDeclared" scale="0" id="Tc_bU1ETudkNE-80-Zu9dgoKg_3_3">0.085</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_4_1_2021_To_6_30_2021_bqhiZq-Z1Emw_qHVhtG5MA" decimals="3" format="ixt:numdotdecimal" name="cwco:DividendsPerShareDeclared" scale="0" id="Tc_Bb5J1eD6p0-rBOJRsFFn7A_3_6">0.085</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Third Quarter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_7_1_2022_To_9_30_2022_NsZM1mrQEUeBajSIepdPgQ" decimals="3" format="ixt:numdotdecimal" name="cwco:DividendsPerShareDeclared" scale="0" id="Tc_GfxmE6Dr10SfcYUB2BBljw_4_3">0.085</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_7_1_2021_To_9_30_2021_1tLgiMlUY02WY9O8BWiB_A" decimals="3" format="ixt:numdotdecimal" name="cwco:DividendsPerShareDeclared" scale="0" id="Tc_K0f8IugcvEi0oQdO-IE3LA_4_6">0.085</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Fourth Quarter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_10_1_2022_To_12_31_2022_-oElvctT2E2iCas2iUBgNg" decimals="3" format="ixt:numdotdecimal" name="cwco:DividendsPerShareDeclared" scale="0" id="Tc_HnsrHewAtUK37mc-49ER3Q_5_3">0.085</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_10_1_2021_To_12_31_2021_wQS9cikntUeiK4UOCeJOAQ" decimals="3" format="ixt:numdotdecimal" name="cwco:DividendsPerShareDeclared" scale="0" id="Tc_ga6qmvFdUUKngnTIJ0h94w_5_6">0.085</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="3" format="ixt:numdotdecimal" name="cwco:DividendsPerShareDeclared" scale="0" id="Tc_EbNjy1iV2kuewqpyKQAsVw_6_3">0.34</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="3" format="ixt:numdotdecimal" name="cwco:DividendsPerShareDeclared" scale="0" id="Tc_6eOHvH89pEO11sV4y3gILw_6_6">0.34</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:SegmentReportingDisclosureTextBlock" id="Tb_YgQlV_9PiU6cxOc5_wFMWQ" continuedAt="Tb_YgQlV_9PiU6cxOc5_wFMWQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">14. Segment information</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company has <ix:nonFraction unitRef="Unit_Standard_segment_oJ9B98qfoEOgvam78GGlOQ" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportableSegments" scale="0" id="Narr_CFy5ji2re0qOCvjV4nynaw">four</ix:nonFraction> reportable segments: retail, bulk, services and manufacturing. The retail segment operates the water utility for the Seven Mile Beach and West Bay areas of Grand Cayman Island pursuant to an exclusive license granted by the Cayman Islands government. The bulk segment supplies potable water to government utilities in Grand Cayman and The Bahamas under long-term contracts. The services segment designs, constructs and sells water infrastructure and provides management and operating services to third parties. The manufacturing segment manufactures and services a wide range of custom and specialized water-related products applicable to commercial, municipal and industrial water production, supply and treatment. Consistent with prior periods, the Company records all non-direct general and administrative expenses in its retail business segment and does not allocate any of these non-direct expenses to its other three business segments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The accounting policies of the segments are consistent with those described in Note&#160;2. The Company evaluates each segment&#8217;s performance based upon its income (or loss) from operations. All intercompany transactions are eliminated for segment presentation purposes.</p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">63</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_e8a8a5cb_2602_49f8_8acd_2d6778adfb1a"></a><a id="Tc_fDGiRhtIrE2rN9nLezpfsQ_1_2"></a><a id="Tc_xsYCEWe3VEaizNey0yfnow_2_2"></a><a id="Tc_F94HNUgx1EaJ9wDEoh4yRA_2_5"></a><a id="Tc_0ooC3ZVo1UeSuc6-iubQTg_2_8"></a><a id="Tc_n5GdLuieoUKB2JD-KZaH3g_2_11"></a><a id="Tc_437qkWw9H0icgPR481Ddmw_2_14"></a><a id="Tc_qAOu1V4qVUKKQenK96p50A_3_0"></a><a id="Tc_j3B5puwk7EungGSw0LA7xQ_3_2"></a><a id="Tc_BIGQxF7uDUajce3ASEb7Vg_3_5"></a><a id="Tc_HN2_HL_Znkm6-WZc8kmbWg_3_8"></a><a id="Tc_2PsIIH6teEWv2ayX5NWalg_3_11"></a><a id="Tc_XVwKwQ53pUS3aMxpoAaCjg_3_14"></a><a id="Tc_mDkcfJP0E02avm4u2TrD0w_4_0"></a><a id="Tc_fSps2LT8oU-fdocDCYScEg_5_0"></a><a id="Tc_AvRSI2XBE0-tnToXgap_3w_6_0"></a><a id="Tc_IlJ6WSQFIEmIelFY-8l8Cg_7_0"></a><a id="Tc__OPWGfYZz025GmrkGBLctw_8_0"></a><a id="Tc_fZuTTjlHE0Kcm8ZOR8vrNg_8_2"></a><a id="Tc_g31hpWYcTkSxbUn8W-jzeg_8_5"></a><a id="Tc_GtjCV-M15ke7s9qw8j4HDw_8_8"></a><a id="Tc_N3TDVWm1vUuLsMyAqp2xqg_8_11"></a><a id="Tc_QiJqtZYLGUiQ2AyntOaoGw_9_0"></a><a id="Tc_LHFxtimeSk2x37ET6EA_Mg_10_0"></a><a id="Tc_3MbnOeYlcUSG9C9ITfdG9Q_11_0"></a><a id="Tc_9vlTU4_ZE02BebsTp6nQPQ_12_0"></a><a id="Tc_lCu3PO1XWkOnhC-qDbhOFA_13_0"></a><a id="Tc_dwaTo6P5h0qH8sF3oYuoLQ_14_0"></a><a id="Tc_ko3znAo8tUuLwgmz8ELnkw_15_0"></a><a id="Tc_i0_qC8gSIECoKMdy2StJEA_16_0"></a><a id="Tc_-0R36vI7s0Cn_zf-QKyTUg_16_14"></a><ix:continuation id="Tb_YgQlV_9PiU6cxOc5_wFMWQ_cont1" continuedAt="Tb_YgQlV_9PiU6cxOc5_wFMWQ_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company&#8217;s segments are strategic business units that are managed separately because each segment sells different products and/or services, serves customers with distinctly different needs and generates different gross profit margins.</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock" id="Tb_DxgQzV936UuWkvYTc64fcA" continuedAt="Tb_DxgQzV936UuWkvYTc64fcA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:63.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Retail</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Bulk</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Manufacturing</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2aHUbdhyQk2ZfxNmGwqxTw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_cxE48DBxjE2NhHuGn6PJHw_3_3">25,954,013</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_YEVu63Hoi0q9QEyPbknlzw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_HdgZcoINOUyDSKFhsTK57g_3_6">32,991,066</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_IRt6ToTRWEanbUvHNX-vUw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_D6qIGRUwXEiKuFzQWNWpKA_3_9">28,835,428</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_nkB06WxPA0OxXc7f_h07Zg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_N32L9Gl50UyYC268y8OpZA_3_12">6,324,465</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_E4mjiKB5PUmYE-5blbTSqg_3_15">94,104,972</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2aHUbdhyQk2ZfxNmGwqxTw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_6ACQM3Q_ZUu35nRFZlvOlg_4_3">12,548,763</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_YEVu63Hoi0q9QEyPbknlzw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_lwAZ2Nb54UmBlfomXziZVw_4_6">23,032,212</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_IRt6ToTRWEanbUvHNX-vUw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_zZDR4vECv02V_gpyDbRmnQ_4_9">22,973,634</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_nkB06WxPA0OxXc7f_h07Zg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_Kv_sBqRjQEiN4DZN6cUjvQ_4_12">5,195,240</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_aopwSwyDo0yzkcY0ZvSwNg_4_15">63,749,849</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Gross profit </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2aHUbdhyQk2ZfxNmGwqxTw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="0" id="Tc_wbkMyJ2QaE6Ow_zg5dkB0g_5_3">13,405,250</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_YEVu63Hoi0q9QEyPbknlzw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="0" id="Tc_uMU2Ojn2w0WHZYDD_mp2qQ_5_6">9,958,854</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_IRt6ToTRWEanbUvHNX-vUw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="0" id="Tc_-MMCUvqQ-USi_Yr1QSCFFw_5_9">5,861,794</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_nkB06WxPA0OxXc7f_h07Zg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="0" id="Tc_oe8TfGZmw02hC5Xlq0Dl0g_5_12">1,129,225</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="0" id="Tc_vGGQ0R0wokOuoTqLIqv3OA_5_15">30,355,123</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">General and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2aHUbdhyQk2ZfxNmGwqxTw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_P4QO4TQPmUq3g46oLDVRxA_6_3">14,552,866</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_YEVu63Hoi0q9QEyPbknlzw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_K_2ochLUgkOVL94TqqxuoQ_6_6">1,570,732</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_IRt6ToTRWEanbUvHNX-vUw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_DBw4jK0dHkOioFJfhgp_9Q_6_9">3,461,294</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_nkB06WxPA0OxXc7f_h07Zg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_uqyDyRwHFEmsRIiXDa9G4w_6_12">1,485,342</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_DujjtiXhmUGsBB31nc42aA_6_15">21,070,234</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Gain (loss) on asset dispositions and impairments, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2aHUbdhyQk2ZfxNmGwqxTw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges" sign="-" scale="0" id="Tc_JlLZcPMN_0WbdbGoPeBtlg_7_3">39,397</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_YEVu63Hoi0q9QEyPbknlzw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges" scale="0" id="Tc_EWnsxIWBE0WzPLhaowHcIw_7_6">5,607</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_IRt6ToTRWEanbUvHNX-vUw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges" scale="0" id="Tc_Oc7vibn_UEC89i0E_2uZIw_7_9">23,717</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_nkB06WxPA0OxXc7f_h07Zg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges" sign="-" scale="0" id="Tc_P2vIsoNVdEW1qiRm2a_brA_7_12">2,631</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges" sign="-" scale="0" id="Tc_zxgwZDeEgUmeW9H0LOrGng_7_15">12,704</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2aHUbdhyQk2ZfxNmGwqxTw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="0" id="Tc_13paZLmacUGjV8X5FSbp2w_8_3">1,187,013</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_YEVu63Hoi0q9QEyPbknlzw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="0" id="Tc_PR7RBwgXZkK0kP0y3Jcl-Q_8_6">8,393,729</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_IRt6ToTRWEanbUvHNX-vUw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="0" id="Tc_t2kSPkrm70OFFfZQwVbV7w_8_9">2,424,217</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_nkB06WxPA0OxXc7f_h07Zg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="0" id="Tc_5w8Oi6yzeUKIbWnEXPFtJw_8_12">358,748</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="0" id="Tc_t-pMiIp3EUiP0WxR91823w_8_15">9,272,185</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" scale="0" id="Tc_uNdb4ty5b0aL0AXReP-_iw_9_15">464,810</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="0" id="Tc_cgJhGxD8r0CYnqnjbuydcA_10_15">9,736,995</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="0" id="Tc__kMzRkb7QEKyUNAwrRdt4g_11_15">396,739</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income from continuing operations </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_QQT-gQ3Vz0-jqenCaVBHdQ_12_15">9,340,256</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income from continuing operations attributable to non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity" scale="0" id="Tc_AmAalM51wU2-kFR9yvzH6Q_13_15">1,112,913</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperations" scale="0" id="Tc_5z36ZMHgqEi5uuAKgre3mg_14_15">8,227,343</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss from discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax" sign="-" scale="0" id="Tc_UtGUkNScfkiKVdaEDSyg1w_15_15">2,371,049</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income attributable to Consolidated Water Co. Ltd. stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="0" id="Tc_sYYp_sD1mESDwn-4KNcSlg_16_15">5,856,294</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">64</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_cbad922c_d3f7_4c2a_8416_6a16f1fc774d"></a><a id="Tc_oYThe6N_N0mYAlcJI287jg_1_2"></a><a id="Tc_KOrHhUFt0Uyt41ZixIqoFw_2_2"></a><a id="Tc_bs-d2cjGHEOWwcTdoYIuSg_2_5"></a><a id="Tc_7-rTFzAV20uoxeYgTQJ_pw_2_8"></a><a id="Tc_cVFKcQ8NiUWEcuMVpNY4hg_2_11"></a><a id="Tc_3hzqDQWiQkmtcMB3IJxPTw_2_14"></a><a id="Tc_bFBLdm2fT0qk9usmwAuaBA_3_0"></a><a id="Tc_mG2b-AdwP0KYW0eU3dyIUw_3_2"></a><a id="Tc_JoJh61veMUSYBluzZPJ2Kw_3_5"></a><a id="Tc_eDdF0G0d5UCkRFB3YPHNSg_3_8"></a><a id="Tc_bsRhoHgwpkaieLtyH398Ig_3_11"></a><a id="Tc_LK-QqFH0h0C4UzqzYTvIWw_3_14"></a><a id="Tc_vCCijPe6bUyzy9v3OfOMQg_4_0"></a><a id="Tc_NNp339EW9Ee4D9hslzHFnQ_4_2"></a><a id="Tc_qi9klL-UrEy1nA-xCbW6Yw_4_5"></a><a id="Tc_xHTrzn8IZ0WvLhECVCdGLg_4_8"></a><a id="Tc_jCLQ9PArlkGYRQHI28dWpA_4_9"></a><a id="Tc_laIxA9a0bEedGH7yoVWHew_4_11"></a><a id="Tc_HJt15I8KHk-8XUNQoVMUsQ_4_14"></a><a id="Tc_7qd3JwPNkkizqYYH1nGyhw_5_0"></a><a id="Tc_xnbH9UhMIkG7x3vAoTWF3Q_5_2"></a><a id="Tc_wSqWzBjH3E-Vt7iRiS-_mg_5_5"></a><a id="Tc_U8G1j0cKIE69EOUgotfhGg_5_8"></a><a id="Tc__geg_kSb1U-Y6UhaV6IVzg_5_11"></a><a id="Tc_hYNYlAPc_0OTPLXZxtizmQ_5_14"></a><a id="Tc_lQ4_BqXgdEyofglyN9Ncbw_6_0"></a><a id="Tc_XZkjymm8A0auoLjT6vyuCQ_6_2"></a><a id="Tc_OxdL8YhnH0ioVRXi8RT8vA_6_5"></a><a id="Tc_0Pa_x_PTtE-fgia_gcvB7A_6_6"></a><a id="Tc_WdFIv9oMC0Cm20FhquG8DA_6_8"></a><a id="Tc_uL-gpHHO1ECt1RTKAO9d6Q_6_9"></a><a id="Tc_xFAlGlW4sEyi-w8vW4pegQ_6_11"></a><a id="Tc_dvp0rX9jWUGDLvHF7k_DZg_6_14"></a><a id="Tc_am1tLAXTVEGlCeePXEwrFg_7_0"></a><a id="Tc_r2G6F5I1Y0WPGlz8Y_7vYA_7_2"></a><a id="Tc_xLgr3GDMnkOrJxjCUohgNA_7_3"></a><a id="Tc_VPjaepzJjkif8lcR8nPsMg_7_5"></a><a id="Tc_-EbtnmW7O0eqVO0zCmxpsw_7_6"></a><a id="Tc_vzaVUY023kKwj-DWX5tMpg_7_8"></a><a id="Tc_072otLpBWkeW8M-YqKMVPQ_7_11"></a><a id="Tc_OdP5aLejlUyfbf5pZBNlwA_7_14"></a><a id="Tc_se29uD-kc028fEyDaOrXZg_8_0"></a><a id="Tc_0PyDDaX3hkWfm1EYZmGaVw_8_2"></a><a id="Tc_5tBGRaIOkE2rM1FB1uq0mg_8_5"></a><a id="Tc_6hLvKruhAkixXTkadBVPEA_8_8"></a><a id="Tc_OcICYCKthE-GO1TM5eOT1A_8_11"></a><a id="Tc_SfX84RFLF0y-bgjmtDBTTQ_8_14"></a><a id="Tc_KSKlxD8MikKRmXFYEG1zug_9_0"></a><a id="Tc_VkWLHvdh6k-IbGN7UD1X8Q_9_2"></a><a id="Tc__N8OECYS1kaRnu0fJ2j0tw_9_5"></a><a id="Tc_OS2JQlACt0efzLuy_MvKYw_9_8"></a><a id="Tc_MSf-HMALgkOK0kdbhwPeOg_9_11"></a><a id="Tc_nC2tun9i10qo3g_bA-oA4g_9_14"></a><a id="Tc_H00yQZPFSEKpJikYGVk4Xw_10_0"></a><a id="Tc_Fvpg0SdagEK4eeUneFkr7A_10_14"></a><a id="Tc_Lt09M7Odn0CFURqncUE9kQ_11_0"></a><a id="Tc_Q4smrMyCTEyx9FyyCuZY7A_11_14"></a><a id="_c5990f7d_cf32_44ed_9384_c9aa2f8a3069"></a><a id="Tc_7grecqiJSUWRHeOizE64jA_1_2"></a><a id="Tc_m_plnJ1RKkqUVZ6qChLwVw_2_2"></a><a id="Tc_coiCPVDyH02A0lzzmWy7dQ_2_5"></a><a id="Tc_2-x2BuwBVESEbdgrQciQfQ_2_8"></a><a id="Tc_Px6R248HN0e9iZKH34tMsQ_2_11"></a><a id="Tc_OZ1yXyUjhEqOpzwd7rkEtQ_2_14"></a><a id="Tc_Z7hmwElEH0Sa88V3vQt_0g_3_0"></a><a id="Tc_hRzEAR5-2kylKh3JI_bVqg_3_2"></a><a id="Tc_Ejjz0q_eeU-8elPSwpmoPQ_3_5"></a><a id="Tc_h93F4matf0-7lBLEhTRQew_3_8"></a><a id="Tc_XbpgxU9xh0KJRKwYHa3aXA_3_11"></a><a id="Tc_h14wqMahn0OBh9E7oqRpBw_3_14"></a><a id="Tc_MxoRTAcfrECnx2Uk_8dcLg_4_0"></a><a id="Tc_rKolk_cN7Emmj5robTsS0g_5_0"></a><a id="Tc_1wyD2F-YEU65EBSs6gX32g_6_0"></a><a id="Tc_fQ67RAc-lUuzGO5EGWvXEQ_7_0"></a><a id="Tc_1Ai7ek-iZ0-zwS8GW4-Pog_8_0"></a><a id="Tc__H_4P-oUa0WS7yW7COZzDQ_8_2"></a><a id="Tc_jIOgVPaJEEeyFT4flnz3jA_8_5"></a><a id="Tc_dDApZz_g50O01fLVmViwMg_8_8"></a><a id="Tc_X_yOBWnaEUaPG2bTmrl4VA_8_11"></a><a id="Tc_eu0tmkR5tEG0-OwKYXXkUg_9_0"></a><a id="Tc_d0R_qP6YBESNYDH0OLfPQg_10_0"></a><a id="Tc_97twtxiqy0Sj2hqOD7ASuw_11_0"></a><a id="Tc_TgscWYqOGEeg2I3hGlpTDg_12_0"></a><a id="Tc_83_puk5iCEiqBEwIkfvF7w_13_0"></a><a id="Tc_EjVkv4_nk0SeWLK5tfCuFA_14_0"></a><a id="Tc_WtieymkML0ipREEkYn4VgQ_15_0"></a><a id="Tc_x0Nz8kqvF0apFRBwiKzdjg_16_0"></a><a id="Tc_PYFAf233PEiDP5kKQIcdyw_16_14"></a><a id="_f2d27112_4e16_48bc_95bb_cee0a5ee49f9"></a><a id="Tc_f9IdR2ska0qtfUxZi6q4ZQ_1_2"></a><a id="Tc_VKJHY6OBKU-r3obXOVD8Cg_2_2"></a><a id="Tc_Da_DZeiAQke35TEwhY1y4Q_2_5"></a><a id="Tc_GBs2XuOXdEaj__m2P6-HPw_2_8"></a><a id="Tc_X0s2vTnwl0K_nWhMxPqCwQ_2_11"></a><a id="Tc_g7O4x_Q91kSQqx57eMi4BQ_2_14"></a><a id="Tc_f5Q3qrF5BEulRz28Zdsf5w_3_0"></a><a id="Tc_UQAqrL73q0GXjG-CFJVxCA_3_2"></a><a id="Tc_blM9xmLYzkqX94J6OsO94w_3_5"></a><a id="Tc_IOpr5SO0Nku1JoirAayQsg_3_8"></a><a id="Tc_RrlxWX33hUqoiZVWkVWDeQ_3_11"></a><a id="Tc_aF6ylB1JikCbtfXT9yNd3g_3_14"></a><a id="Tc_fxfiAMUt3kG3FNUwStuwcQ_4_0"></a><a id="Tc_-3cYuJoleUqxIeF9aSbyMQ_4_2"></a><a id="Tc_MUcEkRbNMku9zYfW2BqMWQ_4_5"></a><a id="Tc_VB4LpFzdpk2jiDJrg5vRmA_4_8"></a><a id="Tc_4KiBIRQIcEaUF8QfPs95aw_4_9"></a><a id="Tc_AQAL2JUSUUW3KwQcWdezkA_4_11"></a><a id="Tc__gX8CcSSjEiQk5K6X1eZyA_4_14"></a><a id="Tc_tt2t4AiZKEe3_ilw1iUruA_5_0"></a><a id="Tc_6YpJuo1FP02uO2Pn1NY89g_5_2"></a><a id="Tc_pbcrAJPoZkSKy115VGkUVA_5_5"></a><a id="Tc_x4NkKXFZN0ybNlxvsEmnTA_5_8"></a><a id="Tc_ZXYuwvjjukOpyf4WRVp0_g_5_11"></a><a id="Tc_9aBByoyGFk-9ueN6uNiAcw_5_14"></a><a id="Tc_vzWrVsSv0UG4SMLN1ECJ_g_6_0"></a><a id="Tc_0G3yNUIaKU-2RvMcRIdbQQ_6_2"></a><a id="Tc_xTpHedbh4UWFh2qayetKuw_6_5"></a><a id="Tc_19d-K7-BrE-PXBdzwaBWBg_6_8"></a><a id="Tc_dSF_jtgYZEOuon7WyMcP8A_6_9"></a><a id="Tc__mcciETzNk-3TNT-wcsipA_6_11"></a><a id="Tc_tJNFkgZ2Ykuz_B_usRPPug_6_14"></a><a id="Tc_NpD6DCBM7EKry12qQFvlGg_7_0"></a><a id="Tc_9xmES6Tbu0WaN0KkAcM6lg_7_2"></a><a id="Tc_8nfA3GYiAEaLxVHDzHTUZw_7_3"></a><a id="Tc_3Q6QS93AFEaNaTN0XkfAWQ_7_5"></a><a id="Tc_0-ML1Z4-xE2IghEi9xNn1w_7_6"></a><a id="Tc_u1IGWBmgukaVJewCDDAVAA_7_8"></a><a id="Tc_tcIZWYT5HEGVhgbI4DDbTg_7_11"></a><a id="Tc_db2ouu3dvUiDzARd3u54NQ_7_14"></a><a id="Tc_ojlDniXay0auwNfT-z61CA_8_0"></a><a id="Tc_SNwUiaHcikyS2KjWq7BDXQ_8_2"></a><a id="Tc_Mjj4IP4bNEi6USECjar7Pw_8_5"></a><a id="Tc_iGdXZxSDmUydTyKewqTWiA_8_8"></a><a id="Tc_dd6CTxSxeUGKAZME9VAMXQ_8_11"></a><a id="Tc_sK3y5tErXEKqAHjd14AehA_8_14"></a><a id="Tc_Zb0tUkszZ0mIEVvKxwxpWQ_9_0"></a><a id="Tc_EeHjwQItDE63ymAQZlZAuQ_9_2"></a><a id="Tc_0xt1QsJ6SketfehfxeR7uQ_9_5"></a><a id="Tc_3hZBIrIFtkGkShxltITfAA_9_8"></a><a id="Tc_ijKDjBPmakybAKlLC2FT9Q_9_11"></a><a id="Tc_ht9GLCvxMEqVcidcVm9C3Q_9_14"></a><a id="Tc_3fsRydPfYkmyQ5EaAyvmxg_10_0"></a><a id="Tc_wC9n_I5jyUOOhB0N0pamCQ_10_14"></a><a id="Tc_B9U9tZHRCk23vNCUOsXh3g_11_0"></a><a id="Tc_dCk8doXeI02A9rbO4qf0Xg_11_14"></a><ix:continuation id="Tb_YgQlV_9PiU6cxOc5_wFMWQ_cont2" continuedAt="Tb_YgQlV_9PiU6cxOc5_wFMWQ_cont3"><ix:continuation id="Tb_DxgQzV936UuWkvYTc64fcA_cont1" continuedAt="Tb_DxgQzV936UuWkvYTc64fcA_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Depreciation and amortization expenses for the&#160;year ended December&#160;31, 2022 for the retail, bulk, services and manufacturing segments were $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2aHUbdhyQk2ZfxNmGwqxTw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="0" id="Narr_8BOX_h6JZ0eRPPqbCpr6ew">2,391,603</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_YEVu63Hoi0q9QEyPbknlzw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="0" id="Narr_bQQW_J7tc0GuroYH0E6EkA">2,836,794</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_IRt6ToTRWEanbUvHNX-vUw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="0" id="Narr_D541obFYLkKRoSp_UMP-vA">674,508</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_nkB06WxPA0OxXc7f_h07Zg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="0" id="Narr_egb8Hv9nOE2IBLlbcYCN5Q">284,403</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:34.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:64.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As&#160;of December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:34.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Retail</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Bulk</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Manufacturing</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_yMI9TJT-Yk6yWsERADhHnQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" id="Tc_1TXP510_5EqeymLqeYHcGg_3_3">2,953,927</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_xkyubD2rlkm1lvMQEhsMKA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" id="Tc_8_I_uaYIO0GxV2eQ-urhUw_3_6">16,554,940</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_pxLqNsYtpU-9zhcxX9fmtg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" id="Tc_lHx6VZb5X0OEezzh0vkoxQ_3_9">5,838,721</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_wxINsIqBXkCzaTLgmTHg1w" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" id="Tc_RYe_FMNW_kenwnsp39vw3w_3_12">1,698,594</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" id="Tc_yR1mAjpXw0KM8Xszj7FItg_3_15">27,046,182</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Inventory, current and non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_yMI9TJT-Yk6yWsERADhHnQ" decimals="0" format="ixt:numdotdecimal" name="cwco:InventoryCurrentAndNoncurrent" scale="0" id="Tc_Im1W5cTnP0qc39eM7T__Mg_4_3">2,759,659</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_xkyubD2rlkm1lvMQEhsMKA" decimals="0" format="ixt:numdotdecimal" name="cwco:InventoryCurrentAndNoncurrent" scale="0" id="Tc_xqBBuYhBYUKZ4acZDz9ASw_4_6">4,037,684</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_wxINsIqBXkCzaTLgmTHg1w" decimals="0" format="ixt:numdotdecimal" name="cwco:InventoryCurrentAndNoncurrent" scale="0" id="Tc_HHo92vm0z0uC6cI92rWnYQ_4_12">3,481,486</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="cwco:InventoryCurrentAndNoncurrent" scale="0" id="Tc_g6cerxWDWEKf3r3aNvgm0A_4_15">10,278,829</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_yMI9TJT-Yk6yWsERADhHnQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_rAGXky0xpU6OMCp0U1BXWQ_5_3">27,697,490</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_xkyubD2rlkm1lvMQEhsMKA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_0Fb--N_oI0qmoM_W2Gc51Q_5_6">22,510,658</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_pxLqNsYtpU-9zhcxX9fmtg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_M2JRZt4DZ0CPKBcuWXVxjg_5_9">759,409</ix:nonFraction> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_wxINsIqBXkCzaTLgmTHg1w" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_7ZeK515Y-EKIaW5q2huFpQ_5_12">1,561,988</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_nnGGlzL82UuYSwYd9tGfIQ_5_15">52,529,545</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Construction in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_yMI9TJT-Yk6yWsERADhHnQ" decimals="0" format="ixt:numdotdecimal" name="cwco:ConstructionInProgress" scale="0" id="Tc_MeLrIq2USk2pX3BqsF6F4Q_6_3">3,643,889</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_wxINsIqBXkCzaTLgmTHg1w" decimals="0" format="ixt:numdotdecimal" name="cwco:ConstructionInProgress" scale="0" id="Tc__R473QGAPkylGGER59LmFg_6_12">61,792</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="cwco:ConstructionInProgress" scale="0" id="Tc_gReTZ083NkuNWjgMwSSUDg_6_15">3,705,681</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Intangibles, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_pxLqNsYtpU-9zhcxX9fmtg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="0" id="Tc_WMyH3J-u9Ei4QrPcEIkbmA_7_9">2,064,444</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_wxINsIqBXkCzaTLgmTHg1w" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="0" id="Tc_H6Oavsk-YkSEpUb-guINmQ_7_12">754,444</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="0" id="Tc_udho5IdLIEGCVrvBoFJStQ_7_15">2,818,888</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_yMI9TJT-Yk6yWsERADhHnQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="0" id="Tc_Pv6DHgik2UO6qlaCkGXQoA_8_3">1,170,511</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_xkyubD2rlkm1lvMQEhsMKA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="0" id="Tc_miFk_JDP2EukN1tlIVbB6Q_8_6">1,948,875</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_pxLqNsYtpU-9zhcxX9fmtg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="0" id="Tc_7wLreKiuK0m8v47LE4wHFQ_8_9">5,320,416</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_wxINsIqBXkCzaTLgmTHg1w" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="0" id="Tc_cpvA3qFUs0SIvYRUksumyQ_8_12">1,985,211</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="0" id="Tc_qCN4dMLkgUGso_ISDN86gw_8_15">10,425,013</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total segment assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_yMI9TJT-Yk6yWsERADhHnQ" decimals="0" format="ixt:numdotdecimal" name="cwco:AssetsContinuedOperation" scale="0" id="Tc_ROzAwNGc0Ue595ob6fvrEg_9_3">65,853,789</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_xkyubD2rlkm1lvMQEhsMKA" decimals="0" format="ixt:numdotdecimal" name="cwco:AssetsContinuedOperation" scale="0" id="Tc_W0zpfoool0SGybM0gC1zng_9_6">56,118,243</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_pxLqNsYtpU-9zhcxX9fmtg" decimals="0" format="ixt:numdotdecimal" name="cwco:AssetsContinuedOperation" scale="0" id="Tc_z-qafiDIWE26Ely_ekbdfQ_9_9">36,319,078</ix:nonFraction> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_wxINsIqBXkCzaTLgmTHg1w" decimals="0" format="ixt:numdotdecimal" name="cwco:AssetsContinuedOperation" scale="0" id="Tc_izzfRrHpD0imFfk6D8477g_9_12">13,054,971</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="cwco:AssetsContinuedOperation" scale="0" id="Tc_aocfBclOiUeS6A2RYsYQfg_9_15">171,346,081</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Assets of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperation" scale="0" id="Tc_iNPFHGkxvUGE1HGdp_ZJgw_10_15">21,660,768</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="0" id="Tc_5drWj0qowk6a3buTmBK53A_11_15">193,006,849</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:63.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Retail</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Bulk</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Manufacturing</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2vl2R6GlI06abktd3rVnpQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_SkXB2YVtqESvgev7u3wBIA_3_3">22,104,953</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_354kqbefw0aUK7SVE131BQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_cvjMPkhJv0uFkKZ3yX01qg_3_6">26,800,869</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_6gOn62bGkUyBNtALONgh0Q" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_khoTHI2g4EKS72gn2W43BQ_3_9">13,884,857</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_HNPzq4QEk02hzXW6t4ppyg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_QfgRi-eJL0u_1CQ2SO-DjA_3_12">4,072,823</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_bQZiPriYykS4DyQgrSg1cA_3_15">66,863,502</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2vl2R6GlI06abktd3rVnpQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_pVhQtIqCyEmWa9n9E8TGLQ_4_3">11,060,937</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_354kqbefw0aUK7SVE131BQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_Rib71glFq02ileGdSHWxlQ_4_6">17,759,272</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_6gOn62bGkUyBNtALONgh0Q" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_GhmbocWiM0mBNtVrWocRBQ_4_9">10,707,243</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_HNPzq4QEk02hzXW6t4ppyg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_Zi8gX3NFbUK-pXXMIyKkrA_4_12">3,828,859</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_BkBq2p3BB0O9L651XbdBfA_4_15">43,356,311</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2vl2R6GlI06abktd3rVnpQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="0" id="Tc_xQnp6S_STUa1vdmKicPMnA_5_3">11,044,016</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_354kqbefw0aUK7SVE131BQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="0" id="Tc_dlVsSxUE_UOnKQBeSmtVKQ_5_6">9,041,597</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_6gOn62bGkUyBNtALONgh0Q" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="0" id="Tc_Fnad1KnPgEuNkerg73nQ7A_5_9">3,177,614</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_HNPzq4QEk02hzXW6t4ppyg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="0" id="Tc_98ZsczNxdke4gLb7c2jPJw_5_12">243,964</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="0" id="Tc_cFqSW9_l-EW89jC3rNJjyg_5_15">23,507,191</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">General and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2vl2R6GlI06abktd3rVnpQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_tZjC85QbOk-1Diqvm3mI9Q_6_3">12,841,259</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_354kqbefw0aUK7SVE131BQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_ejkOmkbOH0iQUhP5I0LVYQ_6_6">1,365,735</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_6gOn62bGkUyBNtALONgh0Q" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_tDeu1OxS9UWvtwEdJg2tbw_6_9">2,762,735</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_HNPzq4QEk02hzXW6t4ppyg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_utxprAvJ2kqnNPbRAMeFRw_6_12">1,380,630</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_3ZeFmMMhpEu_daeRDAv-fw_6_15">18,350,359</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Gain (loss) on asset dispositions and impairments, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2vl2R6GlI06abktd3rVnpQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges" sign="-" scale="0" id="Tc_Zm0MSo27AUuO_SCl6Ur4dw_7_3">246,851</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_354kqbefw0aUK7SVE131BQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges" scale="0" id="Tc_g9FhK4zELEGoltG64QW-vw_7_6">1,500</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_6gOn62bGkUyBNtALONgh0Q" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges" sign="-" scale="0" id="Tc_k1StK3yOjkSqRKvLpVm_Ew_7_9">485</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_HNPzq4QEk02hzXW6t4ppyg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges" sign="-" scale="0" id="Tc_E1tY8qXdjUuOn5d3rzoEaQ_7_12">2,900,000</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges" sign="-" scale="0" id="Tc_Mw_lP1wWzEWJlQ4I6Hp5og_7_15">3,145,836</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2vl2R6GlI06abktd3rVnpQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="0" id="Tc_ZJxXlF7WJEq4YQaMGK9V8A_8_3">2,044,094</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_354kqbefw0aUK7SVE131BQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="0" id="Tc_gk8vTeQOC0aVi4xuP08c3w_8_6">7,677,362</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_6gOn62bGkUyBNtALONgh0Q" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="0" id="Tc_0jGXIbbhBkGujdrPAgqpNQ_8_9">414,394</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_HNPzq4QEk02hzXW6t4ppyg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="0" id="Tc_LWiJsAPzEUaP0nWUC69Mbw_8_12">4,036,666</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="0" id="Tc_SE6rUMOr8Uq6BEAY3bvyig_8_15">2,010,996</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" scale="0" id="Tc_hOEdx9Zy6USWhDji1kIRaw_9_15">1,623,595</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="0" id="Tc_p9JXfcvPLkCSft2RfN-gNg_10_15">3,634,591</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Benefit from income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="0" id="Tc_1QjTJzSBLE6cgA5rFlHAbQ_11_15">447,982</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income from continuing operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" scale="0" id="Tc_3_RNULiXD0urZRutmcfe1Q_12_15">4,082,573</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income from continuing operations attributable to non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity" scale="0" id="Tc_WVNV2YX-7kyAQWbDYQDohg_13_15">632,915</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperations" scale="0" id="Tc_U4U7TII5IU2Q6G8GpDslqQ_14_15">3,449,658</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss from discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax" sign="-" scale="0" id="Tc_YQQX6WM5REWFCxwNIAoN_g_15_15">2,574,079</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income attributable to Consolidated Water Co. Ltd. stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="0" id="Tc_wwZMJ4jINky4vHSjaObzNQ_16_15">875,579</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Depreciation and amortization expenses for the&#160;year ended December&#160;31, 2021 for the retail, bulk, services and manufacturing segments were $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2vl2R6GlI06abktd3rVnpQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="0" id="Narr_KrjNDO0p9UeTCbLBNSGklQ">2,517,407</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_354kqbefw0aUK7SVE131BQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="0" id="Narr_geAvWcQpC0-GPjnYrZPHbQ">3,331,554</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_6gOn62bGkUyBNtALONgh0Q" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="0" id="Narr_RLQqnJCdnkyPtvDg8WLSxg">782,882</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_HNPzq4QEk02hzXW6t4ppyg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="0" id="Narr_P4P0HJgC9Em1VJnpOQUDpg">289,390</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:35.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:64.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As&#160;of December&#160;31,&#160;2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Retail</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Bulk</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Manufacturing</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_t-WGu84yA0WBcTVNs_Ujzg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" id="Tc_0b61Rlrso0SwsjZnX1gZmw_3_3">2,601,619</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_kEOiRg9EdUmY3kDhVT3eHA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" id="Tc_nCekj7HTwUypzdrgRLdO9A_3_6">21,682,951</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_DnuL5xir2EGdN8ch70dVVA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" id="Tc_KTMA32pbC0-Ilgq48e7HEQ_3_9">1,698,797</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_C80WhF3-F0q5OZlO-1TxgA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" id="Tc_fSKpy4NUMkOuj2p09sXVqg_3_12">1,365,940</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" id="Tc_P_MUO0Gx_0-_CV84lO842Q_3_15">27,349,307</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Inventory, current and non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_t-WGu84yA0WBcTVNs_Ujzg" decimals="0" format="ixt:numdotdecimal" name="cwco:InventoryCurrentAndNoncurrent" scale="0" id="Tc_Wwe8TFCZPE2MFPizLsT8Mg_4_3">2,787,277</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_kEOiRg9EdUmY3kDhVT3eHA" decimals="0" format="ixt:numdotdecimal" name="cwco:InventoryCurrentAndNoncurrent" scale="0" id="Tc_F9X9Mz327kCGbktxcA4Zew_4_6">3,860,808</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_C80WhF3-F0q5OZlO-1TxgA" decimals="0" format="ixt:numdotdecimal" name="cwco:InventoryCurrentAndNoncurrent" scale="0" id="Tc_Dhie28xf3kq25eUhaxzvGQ_4_12">589,757</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="cwco:InventoryCurrentAndNoncurrent" scale="0" id="Tc_Y7sD49V9B0eNnHtkLDg4IA_4_15">7,237,842</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_t-WGu84yA0WBcTVNs_Ujzg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_DgfnBH8qZE-REjzM9vI7dw_5_3">26,357,390</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_kEOiRg9EdUmY3kDhVT3eHA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_t2-2soH7eUGGENeHHAsP2g_5_6">24,476,936</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_DnuL5xir2EGdN8ch70dVVA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_JEn4jxJRjE-GWWvQf57ndQ_5_9">512,493</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_C80WhF3-F0q5OZlO-1TxgA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_-9mpv04JUEyx8YECXJW3Ag_5_12">1,599,720</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_qMfGzEQs8kyrd3kNCMeldA_5_15">52,946,539</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Construction in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_t-WGu84yA0WBcTVNs_Ujzg" decimals="0" format="ixt:numdotdecimal" name="cwco:ConstructionInProgress" scale="0" id="Tc_nxqDZZFq8UeT3hw7E7w30g_6_3">617,334</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_kEOiRg9EdUmY3kDhVT3eHA" decimals="0" format="ixt:numdotdecimal" name="cwco:ConstructionInProgress" scale="0" id="Tc_ONEoWkfnWk2CrRcRwwM50Q_6_6">31,737</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_C80WhF3-F0q5OZlO-1TxgA" decimals="0" format="ixt:numdotdecimal" name="cwco:ConstructionInProgress" scale="0" id="Tc_yGh8fweCl0qelhDeQs-gsw_6_12">61,792</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="cwco:ConstructionInProgress" scale="0" id="Tc_c9GNe8e6ikGv5OAf-9QFkw_6_15">710,863</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Intangibles, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_DnuL5xir2EGdN8ch70dVVA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="0" id="Tc_XY_4L9lwsUG_d8eOqLz6yA_7_9">2,553,888</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_C80WhF3-F0q5OZlO-1TxgA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="0" id="Tc_FvedAZgCQUC0uPHNj4bouw_7_12">847,778</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="0" id="Tc_uqUVr-lrCUGi19excMCHIA_7_15">3,401,666</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_t-WGu84yA0WBcTVNs_Ujzg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="0" id="Tc_SqByJCKbfU-qbF8TutH0LQ_8_3">1,170,511</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_kEOiRg9EdUmY3kDhVT3eHA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="0" id="Tc_YDkS5I8Qk0imFedIMFR2jQ_8_6">1,948,875</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_DnuL5xir2EGdN8ch70dVVA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="0" id="Tc_mUoFwZ3uSkqeLzVFRxf5DA_8_9">5,320,416</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_C80WhF3-F0q5OZlO-1TxgA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="0" id="Tc_TFRxqrUUWk2Ue72wlK4uJA_8_12">1,985,211</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="0" id="Tc_yc9SeLH400mtA6q51g3EQw_8_15">10,425,013</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total segment assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_t-WGu84yA0WBcTVNs_Ujzg" decimals="0" format="ixt:numdotdecimal" name="cwco:AssetsContinuedOperation" scale="0" id="Tc_gWASB_VjdkuQp1MJPLN05Q_9_3">61,736,441</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_kEOiRg9EdUmY3kDhVT3eHA" decimals="0" format="ixt:numdotdecimal" name="cwco:AssetsContinuedOperation" scale="0" id="Tc_o5NUcRUm-0G9eDE7xbnhVQ_9_6">68,723,405</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_DnuL5xir2EGdN8ch70dVVA" decimals="0" format="ixt:numdotdecimal" name="cwco:AssetsContinuedOperation" scale="0" id="Tc_-_1wlcuaYUiyWOPPRv-1gg_9_9">15,825,207</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_C80WhF3-F0q5OZlO-1TxgA" decimals="0" format="ixt:numdotdecimal" name="cwco:AssetsContinuedOperation" scale="0" id="Tc_1oyg2ryleUumHLdYDA4W5w_9_12">7,749,877</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="cwco:AssetsContinuedOperation" scale="0" id="Tc_ChtLyLZbk0qRCNms8aS8yA_9_15">154,034,930</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Assets of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperation" scale="0" id="Tc__gFxQ7nr80Wzy6seCGR5UA_10_15">22,319,927</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="0" id="Tc_oafVYnb_NUGNjiMk7b9g4Q_11_15">176,354,857</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:continuation></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">65</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_f16c58b8_b3d5_4c1a_9880_ee08328f1cc6"></a><a id="Tc_LbAFgLl_p0WMWpWXU7g-Dw_1_2"></a><a id="Tc_djvjeBQEVUSDJCuuR2nZZg_2_2"></a><a id="Tc_jkFL66leVU-OeCUXmTuWQw_2_5"></a><a id="Tc_Z5_FzYF79kO-u0I7tQhlcg_3_0"></a><a id="Tc_gtHYNPdbVECnHAs3dIktGw_3_2"></a><a id="Tc_fkYtEYVNc02XzjW4F5u0WQ_3_5"></a><a id="Tc_eOPWMAnXCkmp0XKcEag5mw_4_0"></a><a id="Tc_-RLHffR92UOsqYTEST5iIQ_5_0"></a><a id="Tc_NLB_JMuj4Eq_0pJwGeizmg_6_0"></a><a id="Tc_n0SjFpCrQEqUy8U_tGMOCg_7_2"></a><a id="Tc_4_bWf6R7-0ao75UoNBDbqw_7_5"></a><a id="_e626adc0_a8d8_431a_8995_bc493a9033dc"></a><a id="Tc_Y8SYR8_DK0qONTcLDjjgLQ_1_2"></a><a id="Tc_09RUNc-LvkOV4Rar-8C9eA_2_2"></a><a id="Tc_5P3HLOibxkumP0uW__d-bw_2_5"></a><a id="Tc_qucaNzCNY0ad4gHBu4RgEA_3_0"></a><a id="Tc_eXheFUEzlEWyRKynUDRw-w_3_2"></a><a id="Tc_uhILK0vFqk6PpPYWzwWy5Q_3_5"></a><a id="Tc_L0A2sxtok0yTnkpQ7nvDHA_4_0"></a><a id="Tc_AjbLmrAGrE-f3s43qbBSQw_5_0"></a><a id="Tc_Yy8mp3Ec3kq7kh_canWQEw_5_2"></a><a id="Tc_Dtrnh9Hqf0akF3OH1WgfUA_5_5"></a><a id="Tc_Zm-ACKzrgU-Q7Yo9YXll_w_5_6"></a><a id="Tc_Yc0I-pOrIUiPg9vdAohWlw_6_0"></a><a id="Tc_cqzQGkaDD0Oy1LqX1NR64g_1_2"></a><a id="Tc_Vhr1xT__N0a7p8M-0rJ4iQ_2_2"></a><a id="Tc_YgSifqdAWEKEgTcy2S57SA_2_5"></a><a id="Tc_S-qG1OTImkKHDCmTAVzjzw_3_0"></a><a id="Tc_FyjarYt-mke4mPzFUM89mQ_3_2"></a><a id="Tc_GqYJW6ypck6jHf_A-kc76w_3_5"></a><a id="Tc_6AMea7cCwUmcl04_CxEijA_4_0"></a><a id="Tc_Ikd0E2B4D061vdwbOpNZsQ_5_0"></a><a id="Tc_nkX0DrwBME-AfyDjmgoTHA_6_2"></a><a id="Tc_RRjAY9vTZUezr7jJ4AosnQ_6_5"></a><ix:continuation id="Tb_YgQlV_9PiU6cxOc5_wFMWQ_cont3"><ix:continuation id="Tb_DxgQzV936UuWkvYTc64fcA_cont2"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Revenue earned by major geographic region were:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" id="Tb_NRabvKnooEaqAqnHziMhGQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cayman Islands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_KY_LGMwzhuDBEeoIKH3HuSbRg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_cmH3otKqMEy5yISyCAZjjg_3_3">30,375,985</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_KY_10Bchwih-UCG-OIAJ0ASsQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_6NtEM6EPUkOS6efydgZYDA_3_6">24,935,746</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Bahamas</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_BS_qBh3Nc-_h0aLnwGNiWhXwQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_hso-wmzL5kejDztNwubdgw_4_3">29,943,615</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_BS_QoTCoVIlek6KVicMqAXEzg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_KxIEOYm8uUCUNniRLf2aLw_4_6">24,031,547</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_US_uBo_fz05N0mnkK6jRORx0A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_L90YustFVU2md0ufXqWVaQ_5_3">33,338,466</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_US_WQ1NEC1960Ge0YwTP5I_wg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_T-j8IaLebUSCoiqavSDw4w_5_6">17,489,851</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Revenue earned from management services agreement with OC-BVI</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_VG_VudHKE0yR0OV5ND7dIJn7Q" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_DgNcx7b2pkOZYfMPALPfyA_6_3">446,906</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_VG_ukkHuCZRgkyxA4Fzlpyaeg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_O4sz076wgkOqFDJY_x2HWQ_6_6">406,358</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_BAMj6Y-XxkyO3VC1kyE2JQ_7_3">94,104,972</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_Smt-Yec_e0uaSDSyNgrmFQ_7_6">66,863,502</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Revenue earned from major customers were:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Revenue earned from the WSC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_cwco_WaterAndSewerageCorporationMember_esbf11VJtECLay_63AnQqw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_2h4YIJChtk2hP4mD2wZdeA_3_3">29,943,615</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_cwco_WaterAndSewerageCorporationMember_3nw4hEHvOUKq9XyzXSvAZg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_dwMprNnuXEKJYXksp6Q5Rw_3_6">24,031,547</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Percentage of consolidated revenue earned from the WSC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_cwco_WaterAndSewerageCorporationMember_esbf11VJtECLay_63AnQqw" decimals="2" format="ixt:numdotdecimal" name="cwco:EntityWideRevenuesMajorCustomerPercentage" scale="-2" id="Tc_Shs-O-mjqkGCoRXEG87ACw_4_3">32</ix:nonFraction>%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_cwco_WaterAndSewerageCorporationMember_3nw4hEHvOUKq9XyzXSvAZg" decimals="2" format="ixt:numdotdecimal" name="cwco:EntityWideRevenuesMajorCustomerPercentage" scale="-2" id="Tc_h2lp2-cgKEG_zh18dboerw_4_6">36</ix:nonFraction>%</p></td></tr><tr><td style="vertical-align:middle;width:73.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Revenue earned from one service segment customer</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_cwco_OneCustomerMember_9QIwsDVJX0C42rsJ6oSh1g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="0" id="Tc_Y0Pd3kqpGUaCiHnnpCp6sA_5_3">11,805,752</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:middle;width:73.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Percentage of consolidated revenue earned from the one service segment customer</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_cwco_OneCustomerMember_9QIwsDVJX0C42rsJ6oSh1g" decimals="2" format="ixt:numdotdecimal" name="cwco:EntityWideRevenuesMajorCustomerPercentage" scale="-2" id="Tc_DepaSXgEHEedSHeMFqtBdg_6_3">13</ix:nonFraction>%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_cwco_OneCustomerMember_lcJWJF1fG0C0RkmArUO7Sw" decimals="2" format="ixt:numdotdecimal" name="cwco:EntityWideRevenuesMajorCustomerPercentage" scale="-2" id="Tc_aLUWMx9ulk2VogxIyTYxtg_6_6">0</ix:nonFraction>%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Property, plant and equipment, net by major geographic region were:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock" id="Tb_Li62ua9ccUuXOWtADuq7vw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cayman Islands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_KY_aytbaBe1RESSQ-KE0shQeg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_GUPEMOWUbU-qjSe4NGzrZg_3_3">28,068,156</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_KY_G0NcxKf4J02alFaw0VPRbA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_V6n8Ym6x0UOKlnPLYullbw_3_6">26,687,944</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">The Bahamas</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_BS_IREMcZqPMEu7y9eIsurthQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_O8uxvDOqh0qcSJ4DNE4m4g_4_3">22,031,690</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_BS_3RfaHR7Dg0udZ2YQ4jDT1w" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_6nBI7kbdbkSV5w401TBNcg_4_6">24,004,707</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_US_-X9B-7Q8mke3TrF_DHHdeg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_8eh02iClQ02uQpnQNTAxwA_5_3">2,429,699</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_US_h3yTQxDRmkygbqn2Lrhrmw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_R1sWjCJCpUW2NdQJ1TnO_g_5_6">2,253,888</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_-WWK-UP6qkCdYEfjTwodUg_6_3">52,529,545</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" id="Tc_BsdUJ-XQeE6UZ6dzxrxsfQ_6_6">52,946,539</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="_94f514a5_7f59_4dd2_9264_b338c277df1a"></a><a id="Tc_vLEycsyclkOU4Oa-t3GrCA_1_2"></a><a id="Tc_DlW39uMq-EWleCId3u2IKQ_2_2"></a><a id="Tc_YlQrk3d8c0WkM5xU7SNw2Q_2_5"></a><a id="Tc_pYh6U90F_kSfyfxGvzYdnw_3_0"></a><a id="Tc_IA4kaD3LK0uZbeeSufiVFQ_4_0"></a><a id="Tc_0LxjD0ZtzkuWDNxBurhyKw_4_2"></a><a id="Tc_OlDDVwalM0qt1rgyhvLs1Q_4_5"></a><a id="Tc_he0___-_LUyZPyWExOPlEw_5_0"></a><a id="Tc_Rs_bSk_0I0akkUSBGHNhiw_6_0"></a><a id="Tc_bKHJQiG-JEGxOyuaFeh2gg_7_0"></a><a id="Tc_bEqiMzBHykmZl8c6wOAwAg_8_0"></a><a id="Tc_yJK1-e9EEkKMK5jBoxZnQw_9_0"></a><a id="Tc_9zZSYb6TJ0a1NlEqgSDDJA_10_0"></a><a id="Tc_AcTsKLhDdEOqa4spN9x9lw_11_0"></a><a id="Tc_asFLGPnBCUuKHdZdqh13eQ_12_0"></a><a id="Tc_QZDP-sSr5kGv4hiNrlOSDQ_13_0"></a><a id="Tc_O0pIVZz6E0ilU070p2LwHA_14_2"></a><a id="Tc_4PV4ab1TO0CwuOlQaHIPbQ_14_5"></a><a id="Tc_frZ97FOMUUyEP2t9e9me7w_16_2"></a><a id="Tc_2Ik6jreQCUGBt3Fofvz34Q_17_2"></a><a id="Tc_2g_rUQXPsEetdE3pjgk0Xw_17_5"></a><a id="Tc_oesn6gweU0WjV2Z2WsFXdQ_18_0"></a><a id="Tc_uQSFdp2-a0yAPvQIn-iCSg_19_0"></a><a id="Tc_Ns5EblTFt0C_DdO7982H0g_19_2"></a><a id="Tc_5TRHddYQDkGgS30Nt-ecuQ_19_5"></a><a id="Tc_tfhpsqvJFUW10prv9FD9OA_20_0"></a><a id="Tc_mWO_sJqJ90uBRjjcKG4law_21_0"></a><a id="Tc_PCwF8nEDV0qtuwfc2Pemng_22_0"></a><a id="Tc_W1Gqw9X6Y0eCIkKFbO5xtg_23_0"></a><a id="Tc_8YxCGRoVNkyjsaJThdigrg_24_0"></a><a id="Tc_uZijVjTAOEa9-H-AzWHk4Q_25_0"></a><a id="Tc_3QjucxLhv0aFuhP0OZte1w_26_0"></a><a id="Tc_W_pO8btze0qSJVdx-8DN6Q_27_2"></a><a id="Tc_uZPLiC6m6EWiyvDU1JCBiA_27_5"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="cwco:CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock" id="Tb_GaLl0j2_xUKknw-YgCFDbg" continuedAt="Tb_GaLl0j2_xUKknw-YgCFDbg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;">15. Cost of revenue and general and administrative expenses</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="cwco:CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock" id="Tb__OKaRQdS4UWU7NLY9Qh3Pw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cost of revenue consist of:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Subcontractor and other project costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_SubcontractorAndOtherProjectCostsMember_XhU9vS8_20W29yC7N_03Wg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_cvgPWRLG-UeTH9igzoWgrA_4_3">16,717,422</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_SubcontractorAndOtherProjectCostsMember_p8hLBubTtEai_O-YymOVjQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_-pcvcib1HUagaIfxoZEOGQ_4_6">5,853,617</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employee costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_EmployeeCostsMember_bIWKq5RfEkiFNs9Aq6N5_Q" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_0ZxO94mz-02BtEEn6R2XeQ_5_3">14,036,117</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_EmployeeCostsMember_40yYODM2M0m4eLrz6c5tlg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_KF7t20i4l0qvfMjDjbxqdQ_5_6">12,439,042</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Fuel oil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_FuelOilMember_6GPmBn3L-0KPvFtTnlY1BQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_zcSFWzn2aEqAuTjgf8JlhQ_6_3">10,203,690</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_FuelOilMember_R-wITW4xLk6FWS8D8MP55w" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_zwp8bhER30qPXE-2-Dl-_Q_6_6">5,742,056</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Electricity</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_ElectricityMember_yq2PdP9dpk6oPpPYdLC2Hw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_ORPMHeSkZUmVwcCSGsWk8Q_7_3">6,975,129</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_ElectricityMember_f8IXGKyadkyYilGhZ4F9Dg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_vPNhLjwuv0a3tO5-L8iMRg_7_6">5,698,148</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_DepreciationMember_sLS-p1a5IESi2YQ7C-rTjA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_TfVaPwhK2U-UHOVDPYxwfA_8_3">5,261,463</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_DepreciationMember_Rx0GvWPc-EipH48w2y44cg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_tlneRZkUmEe-8n8GuTLw8A_8_6">5,855,073</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Maintenance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_MaintenanceMember_x8Fsfq_31ky5ONjU1hMwPw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_49eC0qRPsECQ6ypc4ywiLQ_9_3">2,786,258</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_MaintenanceMember_6iYt2gEtEUGezZ9OVF7xVg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_hZfTql9d_E-i5m4NCUSUOQ_9_6">2,092,776</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Insurance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_InsuranceMember_fmq4MiOMy0ub2rIL9u0Kdg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_wgM6e6-tlkOyhwnkBh1ELQ_10_3">1,782,333</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_InsuranceMember_rK2O92hQvUeRfxQOrAmZbw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_7OIJwLmLnkexFYX1J_5fOQ_10_6">1,625,862</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Retail license royalties</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_RoyaltiesMember_YF1aUPpxdUCSJX1stTDoXg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_32fdkcH7TESurrjVfGinLA_11_3">1,590,250</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_RoyaltiesMember_N47O_RTFH0WOiA3GtBgSew" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_rFZ5NEHvkUG6ZWTLPhVJTg_11_6">1,418,820</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of plant sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_CostOfPlantSalesMember_mLcVbsFXBEiaUjTcypQlyg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_txu-QZfAfES2GhVkDv1iyw_12_3">1,129,702</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_CostOfPlantSalesMember_eN551kVrsE2ZDDKBtVQSTw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_ZcI3gbtIOkSmtTAGe-DejQ_12_6">24,757</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_OtherExpenseMember_Jqvw6ii1bUqbPg7Ok9p7XA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_pYnOlluC-ECbJeqRl0RyWg_13_3">3,267,485</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_OtherExpenseMember_vbXMWytAKkOCFtxYZjX4lg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_05dcHph3wUy4iOH6puwQdQ_13_6">2,606,160</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_HxobffdKh06c5r3hP0HM4g_14_3">63,749,849</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="0" id="Tc_ulHupMgLikClDYq6c4DTvg_14_6">43,356,311</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">General and administrative expenses consist of:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employee costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_EmployeeCostsMember_bIWKq5RfEkiFNs9Aq6N5_Q" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_eBe09s_-NU6zdUCqTcDh4Q_19_3">11,209,635</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_EmployeeCostsMember_40yYODM2M0m4eLrz6c5tlg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_OQ-IDmXo5kG0VvKiKMwUBw_19_6">9,562,125</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Insurance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_InsuranceMember_fmq4MiOMy0ub2rIL9u0Kdg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_6Ap58ybVKEKLVXlPT652Dg_20_3">2,067,625</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_InsuranceMember_rK2O92hQvUeRfxQOrAmZbw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_Bd-l4jzkAkeSD3T68aI_fw_20_6">1,813,026</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Professional fees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_ProfessionalsFeeMember_1twsjW8lhkq1AlUBpxggJQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_APTtOZ9yDE-U8aOa3dig-g_21_3">1,760,279</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_ProfessionalsFeeMember_cBzlfvMR2EKesUCnKHTDFw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_EtAM9P3WckGeNJpVFiF7Yw_21_6">1,611,616</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Directors&#8217; fees and expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_DirectorsFeesAndExpensesMember_ef659NXfWkajdwo8FM7Ogw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_mfxixzheUkWlH0WdtW93Qw_22_3">991,592</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_DirectorsFeesAndExpensesMember_jjWf027980ObM2mgJaOYnw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_Bn3NdTrgykicQXua0LCHOg_22_6">851,775</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Office rent</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_OfficeRentMember_6yHLrRL1-0WwJfy-7XaGKA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_dFhxyqAzVEejEQcgm__7MQ_23_3">793,380</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_OfficeRentMember_qdnjxSDjfUuw726x2no2rw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_kU-vs5qYIEqR6-JMU_FbyQ_23_6">735,737</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Amortization of intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_AmortizationOfIntangiblesMember_tS1JMDtniUOT2xwxsSNm-w" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_z20c44Ghl02Fr7ITAMNidQ_24_3">582,778</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_AmortizationOfIntangiblesMember_TZH2krkk8k2yUvokVGYscA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_6AF30kYjM0O6_5aEKYZggA_24_6">746,667</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_DepreciationMember_sLS-p1a5IESi2YQ7C-rTjA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_IyMMT-yJkEWpPwtmR64g2w_25_3">163,714</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_DepreciationMember_Rx0GvWPc-EipH48w2y44cg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_nTjVq3ybMU2OFMBo1vcnbw_25_6">140,140</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_OtherCreditDeviceMember_Dzk2dI800Uu7HiCihH5VzA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_xOhIr9EAt0GjYRoASMfJkA_26_3">3,501,231</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_OtherCreditDeviceMember_eG9vT2tEA0K_f5i4QKLeuw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_-y-Mh9vnEk2igXHz5QX5yQ_26_6">2,889,273</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_wE4MzlA9gUCfCtaqAqQIgg_27_3">21,070,234</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="0" id="Tc_M1G7u_Zb1Eir1VrXDPNXWA_27_6">18,350,359</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">66</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_GaLl0j2_xUKknw-YgCFDbg_cont1"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="Narr_BJrDh-9_1UGl_npas1Y2kA"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="Tb_8Pg0HpgoL0ynnBzPA-nUOw" continuedAt="Tb_8Pg0HpgoL0ynnBzPA-nUOw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">16. Stock-based compensation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company has the following stock compensation plans that form part of its employees&#8217; and Directors&#8217; remuneration:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Employee Share Incentive Plan (Preferred Stock)</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Employees (i.e., other than Directors and Officers), after <span style="-sec-ix-hidden:Hidden_m6oR_p4jC0S6jabQ6DdScQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">four</span></span> consecutive years of employment, become eligible to receive shares of the Company&#8217;s preferred stock for $nil consideration under the Company&#8217;s Employee Share Incentive Plan. Once an individual becomes eligible for this plan, they are awarded shares of preferred stock in the month of June following their date of eligibility for the plan (the &#8220;grant date&#8221;) and in June of each subsequent year of the individual&#39;s employment for as long as the individual remains employed with the Company. If the employee remains with the Company through the fourth anniversary of a grant date, the preferred stock can be converted into shares of the Company&#8217;s common stock on a <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_2cgc8-j8cUCv6seVGLB6Uw" decimals="INF" format="ixt-sec:numwordsen" name="cwco:StockholdersEquityNoteConversionRatioPreferredShares" scale="0" id="Narr_3lVYZEFSEU-yJ3JyadMomg">one</ix:nonFraction> for <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_2cgc8-j8cUCv6seVGLB6Uw" decimals="INF" format="ixt-sec:numwordsen" name="cwco:StockholdersEquityNoteConversionRatioCommonShares" scale="0" id="Narr_RTTU3CO0DEKRsFVhH0F5-Q">one</ix:nonFraction> basis. In addition, at the time the preferred stock is granted, the employee receives options to purchase an equal number of shares of preferred stock at a discount to the average trading price of the Company&#8217;s common stock for the first <span style="-sec-ix-hidden:Hidden_g43qDNLa60qa927jd3oQ1Q;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">seven&#160;days</span></span> of the October&#160;immediately preceding the date of the preferred stock grant. If these options are exercised, the shares of preferred stock obtained may also be converted to shares of common stock if the employee remains with the Company through the fourth anniversary of a grant date. Each employee&#8217;s option to purchase shares of preferred stock must be exercised within <span style="-sec-ix-hidden:Hidden_gp5NWYBmYUOohlMit8VLZA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">30&#160;days</span></span> of the grant date, which is the 90<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">th</sup> day after the date of the independent registered public accountants&#8217; audit opinion on the Company&#8217;s consolidated financial statements. Shares of preferred stock not subsequently converted to shares of common stock are redeemable only at the discretion of the Company. Shares of preferred stock granted under this plan during the&#160;years ended December&#160;31, 2022 and 2021 totaled <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_2cgc8-j8cUCv6seVGLB6Uw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" scale="0" id="Narr_8t8Wb4PUTES3FQoEolw34A">9,295</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_AjbJjcVS60Oq3_8Jk4K9Og" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" scale="0" id="Narr_XHB-h8f940mxLdtBWR2V9w">8,632</ix:nonFraction>, respectively, and an equal number of preferred stock options were granted in each of these&#160;years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Employee Share Option Plan (Common Stock Options)</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company has an employee stock option plan for four long-serving employees of the Company. Under the plan, these employees are granted in each calendar&#160;year, as long as the employee is a participant in the Employee Share Incentive Plan, options to purchase common shares. The price at which the option may be exercised is the closing market price on the grant date, which is the 40<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">th</sup> day after the date of the Company&#8217;s Annual Shareholder Meeting. The number of options each employee is granted is equal to five times the sum of (i)&#160;the number of shares of preferred stock that employee receives for $nil consideration and (ii)&#160;the number of preferred stock options that employee exercises in that given&#160;year. Options may be exercised during the period commencing on the fourth anniversary of the grant date and ending on the 30<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">th</sup> day after the fourth anniversary of the grant date. Options granted under this plan during the&#160;years ended December&#160;31, 2022 and 2021 totaled <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_CommonStockOptionsMember_us-gaap_OptionIndexedToIssuersEquityTypeAxis_us-gaap_EmployeeStockOptionMember_SUkL0fscsEmdQK_KX5vwWw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="0" id="Narr_dy2F7e_W1025LrdO7ux3lw">3,665</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_CommonStockOptionsMember_us-gaap_OptionIndexedToIssuersEquityTypeAxis_us-gaap_EmployeeStockOptionMember_AQCq0oLNvkCrjC1ecePAKQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="0" id="Narr_C2BbyM-0pkiT7PQ-TsrrIQ">3,400</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The fair value of each option award is estimated on the date of grant using a Black-Scholes option-pricing model that uses the assumptions noted in the table below. Expected volatilities are based on historical volatilities of the Company&#8217;s common stock. The expected term of options granted is based on historical data and represents the period of time that options granted are expected to be outstanding. The Company uses historical data to estimate stock option exercises and forfeitures within its valuation model. The risk-free interest rate for the expected term of the option is based on the U.S. Treasury yield curve in effect at the time of the grant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">2008 Equity Incentive Plan</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On May&#160;14, 2008, the Company&#8217;s stockholders approved the 2008 Equity Incentive Plan (the &#8220;2008 Plan&#8221;) and reserved <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_5_14_2008_us-gaap_OptionIndexedToIssuersEquityTypeAxis_cwco_EquityIncentivePlan2008Member_16nn6bq2CUeGWVe6B8GRLA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" scale="0" id="Narr_U-iXLvZd902sztdOwzzqoQ">1,500,000</ix:nonFraction> shares of the Company&#8217;s Class&#160;A common shares for issuance under this plan. All Directors, executives and key employees of the Company or its affiliates are eligible for participation in the 2008 Plan which provides for the issuance of options, restricted stock and stock equivalents at the discretion of the Board.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company measures and recognizes compensation expense at fair value for all share-based payments, including stock options. Stock-based compensation for the Employee Share Incentive Plan, Employee Share Option Plan and the 2008 Equity Incentive Plan totaled $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax" scale="0" id="Narr_ZRsQ5gZlMUacop35xERixA">386,260</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax" scale="0" id="Narr_PHxG2YoSIEiCeMTxzBWH7w">137,215</ix:nonFraction> for the&#160;years ended December&#160;31, 2022 and 2021, respectively, and is included in general and administrative expenses in the accompanying consolidated statements of income.</p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">67</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><a id="Tc_UUdUhtbmxkWde87wEhrIAQ_1_2"></a><a id="Tc_o3sP2DiSbkaxYJqXvYGsjA_1_4"></a><a id="Tc_5IKgPUoOy06l-cPscER39Q_2_0"></a><a id="Tc_y66KYGuSfE6hrWPW0ykToA_2_3"></a><a id="Tc_1mFPAmgTBkyeL-_gncYm9A_2_5"></a><a id="Tc_4GG4jlLTAE-oq2IlEebCxQ_3_0"></a><a id="Tc_51PJTTiE0kiKwAs9Do6E7Q_4_0"></a><a id="Tc_cwRncXNtf0C593vA4n2s0Q_4_3"></a><a id="Tc_Gea8a6TldUyizXOK4BIv6g_4_5"></a><a id="Tc_lUB371t8wUuSe2vTUqQSfQ_5_0"></a><a id="Tc_jGc9_WSz_kGQ3o1EU4OuzQ_5_3"></a><a id="Tc_Kf8kiioi60-LacvTC5juzw_5_5"></a><a id="_e2d9e475_5a95_4a0a_ab83_9f844c648c35"></a><a id="Tc_ZHfFmfDW50GR7LZoIsAjWQ_1_7"></a><a id="Tc_IHkllWqZbk6XlVBkvh0IcQ_2_4"></a><a id="Tc_A0glBkPhl0iiFxWs9eDsMA_2_7"></a><a id="Tc_uDMiKkznpkCQ83r8oooEKQ_3_4"></a><a id="Tc_YR3Z-Lrye0uzZNM1WqhQeA_3_7"></a><a id="Tc_vPyxZqUMu0W6n5oVEL7diQ_3_9"></a><a id="Tc_lScq7PElMkKJv_tGq8s2wA_4_4"></a><a id="Tc_e5sapIkQ7Euf7OTBFhFDLQ_4_7"></a><a id="Tc_fadIqsYmW0C3ex-5MvTntA_4_9"></a><a id="Tc_QeWd9SIg6kWV_2o4oaSgEw_5_2"></a><a id="Tc_-SejNid2BEKBeWoX6CJkbg_5_4"></a><a id="Tc_dDtSWaDyNk6zxT6u1QDE0A_5_7"></a><a id="Tc_qFVy-jOQ7k2jAkS-g31Fug_5_9"></a><a id="Tc_KsBzv1j2B0ifvmN0v3Kfsw_6_0"></a><a id="Tc__PBsEkjYDEeV94IIWGJXqQ_6_4"></a><a id="Tc_OOJGr0XEpUWs8I1ISRFUuw_7_0"></a><a id="Tc_8sKN8XRRnE6qxr79DeU5hw_8_0"></a><a id="Tc_XW_JgbATD02d46a9OPaxTg_9_0"></a><a id="Tc_dkiBUTDjYEa49_xaCJL_Sg_10_0"></a><a id="Tc_FpYnh_NFCkGRKZ0Om1MeHA_10_4"></a><a id="Tc_6sHnOFUoV0uEl02Ifd2GnA_10_8"></a><a id="Tc_taH3LFpaOkumHnxUSXR0Iw_10_9"></a><a id="Tc_FnUqOfTVbEG4okPrt1C7Ig_11_0"></a><a id="Tc_8vo5L1eEZkGo_2DBfOCwHw_11_2"></a><a id="Tc_m8zIyqwI5kSkK_IxLOY2cg_11_4"></a><a id="Tc_yLrYafSXF0CU6MtMxEBeMw_11_5"></a><a id="Tc_dzHSCaaU70mfMiveLHDHfA_11_7"></a><a id="Tc_-Corf_hMb0aLAD-cCeGqhA_11_8"></a><a id="Tc_1w0_bAqtnE6U6fhMWTXc9Q_11_9"></a><a id="Tc_1at1Azb5IEmux2BUQtU-dg_11_10"></a><a id="Narr_B36PrTOcY0O8tphJb5t1aw"></a><a id="Tc_ewWn-_t3jUmQEBeLsjFvHQ_1_2"></a><a id="Tc_IRdYC1tXS0W1ThCwjsaN5w_1_5"></a><a id="Tc_wIeokhRaeEeUawbn2dlnAQ_2_0"></a><a id="Tc__spF-bLxN0eNStluJp98kA_3_0"></a><a id="Tc_VQZ1IX4pHEmQttFItyHxAQ_3_2"></a><a id="Tc_54iGWFrHh02UkWwCoeRkug_3_5"></a><a id="Tc_gzwMCBj6D0e61MgXt6NiJg_4_0"></a><a id="Tc_ypg0jjKPQ0yA6qqjhBVTdQ_6_0"></a><a id="Tc_6hz7C9mEsES8X9Pky-2ojg_7_0"></a><a id="Tc_avf1imtiXEC9MXYhLhe0GQ_7_2"></a><a id="Tc_s6m5WCiOjkmeqpMxnDkaUw_7_5"></a><a id="Tc_Tb4Dwfw_2E24BFt5riOEzw_8_0"></a><a id="Tc_YysHLxElCk-EDHfrwSqIbg_9_0"></a><a id="Tc_dkhcNwdN3kyslbIHnymvHw_11_0"></a><a id="Tc_nxmg7UdMkkGSCT_hoWI-vw_12_0"></a><a id="Tc_V7eGBwmnn02X3_bfC2IrWQ_12_2"></a><a id="Tc_a8OT_pLBKky1wjl-LGGphQ_12_5"></a><a id="Tc_dHmKnj5oyUmfTswH2ePIzA_13_0"></a><a id="Tc_UYigqAOBhUqSjLhsHq3njg_14_0"></a><a id="Tc_RGMyIM0rnE2kAX_TeJOZCg_16_0"></a><a id="Tc_DfINR-UhOU6WozjE6wXNgw_16_2"></a><a id="Tc_Bm7WqgP1MUaF_f0GTl-9yQ_16_5"></a><ix:continuation id="Tb_8Pg0HpgoL0ynnBzPA-nUOw_cont1" continuedAt="Tb_8Pg0HpgoL0ynnBzPA-nUOw_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The significant weighted average assumptions for the&#160;years ended December&#160;31, 2022 and 2021 were as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" id="Tb_--cdHE_A6kaGUKf2W1fAcQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:77.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:77.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:top;width:77.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Risk free interest rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="4" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" id="Tc_lRDYdqjMm0iA6XwXvngqgw_2_2">1.64</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" id="Tc__k6i4u4qFk2VPujqImZlaQ_2_4">0.20</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:top;width:77.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected option life (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" id="Tc_BmbFK0I4ykOtTpEDHej0Ww_3_2"> 1.2</ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" id="Tc_xySCwsnxdkyds2oAkc1veg_3_4"> 1.2</ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:77.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected volatility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="4" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" id="Tc_105ag8Bk4EKUYwB23qh15g_4_2">47.15</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" id="Tc_CeI20-kw_Uyv21sKIqw6Vw_4_4">31.92</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:top;width:77.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected dividend yield</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="4" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" scale="-2" id="Tc_STNNhqOhGUCf4RHPSKJvjQ_5_2">2.35</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" scale="-2" id="Tc_tp5Ht7FlbkWaYFfeaz2mwA_5_4">2.87</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" id="Tb_coMuP9TqB0eWGMJ55LIU4w" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">A summary of the Company&#8217;s stock option activity for the&#160;year ended December&#160;31, 2022 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Life&#160;(Years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Value&#160;(1)</b></p></td></tr><tr><td style="vertical-align:top;width:59.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at beginning of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_VzzL2o5pjU25h8NIUce7ig_6_2">10,490</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_z5x37cWgbUiKgbCll3voig_6_5">12.98</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="0" id="Tc_EYt4jt0PRkGcAP1IzG2z4A_7_2">12,960</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_RGC-2oJ08k6C2CPLNZGhRw_7_5">10.47</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:59.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_Vi3izsu7ikisWckvLfg-3g_8_2">3,064</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_vFsH74GTH02S2G3OivIADQ_8_5">8.73</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited/expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" scale="0" id="Tc_Setu198IA0Gu9wi2TT0HYA_9_2">8,646</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_dwrqrsFc40qPnqB9WB-WEg_9_5">9.89</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:59.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding as of December&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_wKMUxQmg9k2bt3Ww_OblQA_10_2">11,740</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_vrxGycoZ1k-3iD8KDO6FSQ_10_5">13.59</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_LBcqCJWVeUWow6-v1_NPsw_10_7"> 2.37</ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">years&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="0" id="Tc_5HoXzHTvP02_yJ7x9IzrwA_10_10">14,534</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercisable as of December&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">years&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The intrinsic value of a stock option represents the amount by which the fair value of the underlying stock, measured by reference to the closing price of the common shares of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"><ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="2" format="ixt:numdotdecimal" name="cwco:ClosingPriceOfCommonShares" scale="0" id="Narr_ap3PUi21sESf_Qt5r1wwsA">14.80</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> on the Nasdaq Global Select Market on December&#160;31, 2022, exceeds the exercise price of the option.</span></td></tr></table><div style="margin-top:12pt;"></div></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of December&#160;31, 2022, <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" scale="0" id="Narr_oeIPr4Txg0mW04FZgvNKSQ">11,740</ix:nonFraction> non-vested options were outstanding, with weighted average exercise price of $<ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Narr_7FAJSAB0lEKLpEnOenhaKw">13.59</ix:nonFraction>, and average remaining contractual life of <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" format="ixt-sec:duryear" name="cwco:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonVestedOutstandingWeightedAverageRemainingContractualTerm" id="Narr_jLe-bN05zUK3EI6TdnkmEw">2.37</ix:nonNumeric>&#160;years.&#160;The total remaining unrecognized compensation costs related to unvested stock-based arrangements were $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityTypeAxis_us-gaap_EmployeeStockOptionMember_LeMarUzIOEWFkjFGt8_imw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" scale="0" id="Narr__q0lQH4zN0mnIn1aMLWu9g">23,609</ix:nonFraction> as of December&#160;31, 2022 and are expected to be recognized over a weighted average period of <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" format="ixt-sec:duryear" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="Narr_7MF7wCjxL0imve1KXaryjQ">2.37</ix:nonNumeric>&#160;years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The following table summarizes the weighted average fair value of options at the date of grant and the intrinsic value of options exercised during the years ended December 31, 2022 and 2021:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" id="Tb_5pw7bB43ykqMi9vI21UqPQ" continuedAt="Tb_5pw7bB43ykqMi9vI21UqPQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options granted with an exercise price below market price on the date of grant:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employees &#8212; preferred stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2022_To_12_31_2022_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_BelowMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_U8fmxZfreESzGZVveNylig" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_c66VHWhptUWnuSJgnZvykw_3_3">5.58</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_BelowMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_aldM8JOXXUO7FpoAU_IGRw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_BYXnHB8y00O-IewJ2JdKbA_3_6">3.71</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Overall weighted average</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_BelowMarketPriceMember_84bejj63qkSkKybWqZzt3Q" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_9LgI6f_I60WcEaV-eyseqw_4_3">5.58</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_BelowMarketPriceMember_55Qtr8My8EeW1Yd89VExIA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_MZmQ9wgEWEmJgjS5zN511Q_4_6">3.71</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options granted with an exercise price at market price on the date of grant:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Management employees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2022_To_12_31_2022_srt_TitleOfIndividualAxis_cwco_ManagementEmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_oEXCb0pyBU6wJ7xtjQONbQ" decimals="0" format="ixt:zerodash" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_dgKxs-V0nUKGVJXMjD5aXA_7_3">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_TitleOfIndividualAxis_cwco_ManagementEmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_4WIqsqu0lUyymfxmXWjHQg" decimals="0" format="ixt:zerodash" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_7jn-dhu8gUCK-AdBoaEvZw_7_6">&#8212;</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employees &#8212; common stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2022_To_12_31_2022_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_uc9G2doOAk6gDMGKHi2OBA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_CLsIWYz76UayJnnPIuexnQ_8_3">4.32</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_pJUE9bi3HEmmDAZpDfwiXA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_NGwWb94vg0axJIzJnMKUsA_8_6">2.89</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Overall weighted average</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_GMWLzigV10uKU4FXNJ-JqA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_Dme2X6iH-0Gmt4ni4j9jkQ_9_3">4.32</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_51BWjSPjyEWDqgxj1vA0-g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_5dH9XZ7GLE-aFWCZuQAg6A_9_6">2.89</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options granted with an exercise price above market price on the date of grant:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Management employees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2022_To_12_31_2022_srt_TitleOfIndividualAxis_cwco_ManagementEmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_oozbxK7VOEWkjdc9vd9Fjw" decimals="0" format="ixt:zerodash" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_d83sHPBI6U6RR2kHRnrGsg_12_3">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_TitleOfIndividualAxis_cwco_ManagementEmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_X2_WIujCSEyrHmh5KI2wtA" decimals="0" format="ixt:zerodash" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_2EZZfeHQ2k6NC-GS45KSvg_12_6">&#8212;</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employees &#8212; preferred stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2022_To_12_31_2022_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_dNnvrkzTnEiILpSof4P2WQ" decimals="0" format="ixt:zerodash" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_Kmx7aRnxtk-hqmKG8Zh6NA_13_3">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_CGdTQbI4FkKOsl6kFYRxNg" decimals="0" format="ixt:zerodash" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_-yYwYhZDEkOKtQkbM_vFVw_13_6">&#8212;</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Overall weighted average</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_4Cs5yVrAU02Ko9yUPxYmog" decimals="0" format="ixt:zerodash" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_-0gUQc7G20q0AEZNSPGN-w_14_3">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_gOE3r0UpzE2QI5wMkGJciw" decimals="0" format="ixt:zerodash" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_8rjbStWIsU-3SkVFiTvyIw_14_6">&#8212;</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total intrinsic value of options exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" scale="0" id="Tc_A6bCVHNFwECGrcTJ7SYFnw_16_3">17,158</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" scale="0" id="Tc_brtG_ayO-Eu7Hd85XFNaRg_16_6">7,876</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">68</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_8Pg0HpgoL0ynnBzPA-nUOw_cont2"><ix:continuation id="Tb_5pw7bB43ykqMi9vI21UqPQ_cont1"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Senior Management Long-Term Incentive Compensation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Board of Directors has established the long-term incentive compensation for the Company&#8217;s senior management to better align the interests of its senior management with those of its shareholders. The long-term compensation plan includes a combination of performance and non-performance-based grants of common stock from the shares of Company stock provided for issuance under the 2008 Equity Incentive Plan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The non-performance-based stock grant rights, which are issued on January 1 of each year, vest in one-third increments at the end of each&#160;year over a <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_-o2zEQaSHkqorN6pHkRDrg" format="ixt-sec:durwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Narr_btNamH8mRkqAe6nw0mOFYw">three-year</ix:nonNumeric> period. The number of non-performance-based stock grant rights issued on January 1, 2022 and 2021 were <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_-o2zEQaSHkqorN6pHkRDrg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="0" id="Narr_r9482RSpCU-p2NKel5kyNQ">32,265</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_TLtZahT8OESWkwJywg0TxQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="0" id="Narr_ncEokc7Wj0WH50qKeAThtw">26,403</ix:nonFraction>, respectively. These stock grant rights vest in one-third increments over the <span style="-sec-ix-hidden:Hidden_xV2zF2SZVkSO1s2NF-O8vA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three-year</span></span> periods ending December 31, 2024 and 2023, respectively. The total number of vested shares issued under prior years&#8217; non-performance stock grant rights totaled <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_-o2zEQaSHkqorN6pHkRDrg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockGrantedDuringPeriodValueSharebasedCompensation" scale="0" id="Narr_YXOZxMnslESOQVlERq73Jw">23,411</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_TLtZahT8OESWkwJywg0TxQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockGrantedDuringPeriodValueSharebasedCompensation" scale="0" id="Narr_h4Q1RT0SBE-vdtx5BybM8w">25,789</ix:nonFraction> in the years ended December 31, 2022 and 2021, respectively. For the&#160;years ended December&#160;31, 2022 and 2021, the Company recognized $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_-o2zEQaSHkqorN6pHkRDrg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" id="Narr_HRiwcshlQEydzTZ1GLIvHw">325,270</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_TLtZahT8OESWkwJywg0TxQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" id="Narr_gAUqeI_11kaaFWWqRiAt-A">306,250</ix:nonFraction> in stock-based compensation expense, respectively, related to the incremental vesting of the non-performance stock grant rights.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The performance-based grants may be earned at the end of each&#160;year based upon the Company&#39;s <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_-o2zEQaSHkqorN6pHkRDrg" format="ixt-sec:durwordsen" name="cwco:ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod" id="Narr_tjjMLH48DEuDTRt18b4WPQ">three-year</ix:nonNumeric> cumulative financial performance relative to <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_-o2zEQaSHkqorN6pHkRDrg" format="ixt-sec:durwordsen" name="cwco:ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod" id="Narr_W2yKWkFcGUKEaoeB4Av7iw">three-year</ix:nonNumeric> cumulative financial performance targets. The Company recognized $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_PerformancebasedGrantsMember_V-Wlg5yZHkqFDTqJViFW7A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="0" id="Narr_H3amGcnmw0GxoIeM68DGJg">335,964</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_PerformancebasedGrantsMember_WkphmXfbEEGIfdh9g_0VTg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="0" id="Narr_4zq0N-Hq_E2AUTWiuhPJxA">214,675</ix:nonFraction> in stock-based compensation for the&#160;year ended December&#160;31, 2022 and 2021, respectively, related to these grants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">A total of <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_PerformancebasedGrantsMember_V-Wlg5yZHkqFDTqJViFW7A" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="0" id="Narr_czzYK7qFWUOdwSu7EH9gwg">13,797</ix:nonFraction> stock grant rights were earned as of December&#160;31, 2022 based upon the Company&#8217;s actual financial performance relative to the cumulative financial performance targets for the <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_PerformancebasedGrantsMember_V-Wlg5yZHkqFDTqJViFW7A" format="ixt-sec:durwordsen" name="cwco:ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod" id="Narr_Wj7MpDir0ECEDQOMQkGyQQ">three-year</ix:nonNumeric> period ended December 31, 2022 The shares associated with these grants will be issued in 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">A total of <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_PerformancebasedGrantsMember_WkphmXfbEEGIfdh9g_0VTg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="0" id="Narr_Fa2LHQlEHUmO8hvNGO1YQA">18,419</ix:nonFraction> stock grant rights were earned as of December&#160;31, 2021 based upon the Company&#8217;s actual financial performance relative to the cumulative financial performance targets for the <ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" format="ixt-sec:durwordsen" name="cwco:ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod" id="Narr_A32gbX0Q2kiWH5iu7E0iWA"><span style="-sec-ix-hidden:Hidden_fz6kqljD4UmKUrGC033RsQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span>-year</ix:nonNumeric> period ended December 31, 2021. The shares associated with these grants were issued in 2022<span style="color:#00b050;">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Non-Executive Directors&#8217; Share Plan</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">This stock grant plan provides part of the Directors&#8217; remuneration. Under this plan, non-Executive Directors receive a combination of cash and common stock for their participation in Board meetings. The number of shares of common stock granted is calculated based upon the market price of the Company&#8217;s common stock on October&#160;1 of the&#160;year preceding the grant. Common stock granted under this plan during the&#160;years ended December&#160;31, 2022 and 2021 totaled <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonExecutiveDirectorsSharePlanMember_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_a0Iiqpr9Akydno-GPTlkMw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="0" id="Narr_zz24Velw7ESo4f4TUJp7hw">30,767</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_NonExecutiveDirectorsSharePlanMember_iPB0rpgeFUGXw4ePaRVNTQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="0" id="Narr_QwcoRTfJOkmmM8oaqx43Ug">30,911</ix:nonFraction> shares, respectively. The Company recognized stock-based compensation for these share grants of $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonExecutiveDirectorsSharePlanMember_-Bt7YAbgJUy0saiAWkoilA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="0" id="Narr_ItS1y_yZVEqmbNc7Sv82cw">369,678</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_NonExecutiveDirectorsSharePlanMember_iPB0rpgeFUGXw4ePaRVNTQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="0" id="Narr_yv0wqlfWHUazbbHddjF-Jg">319,002</ix:nonFraction> for the&#160;years ended December&#160;31, 2022 and 2021, respectively.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock" id="Tb_xZERGVLqDE-y0X2wKK_1Vg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">17. Retirement benefits</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Retirement plans are offered to all employees in California, Florida, the Cayman Islands and The Bahamas. The plans are administered by third parties and are defined contribution plans pursuant to which the Company matches participating employees&#8217; contributions up to certain amounts. The Company matches contributions of up to <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2022_To_12_31_2022_cwco_RetirementPlanAxis_country_KY_oKOWIjfHuEKj9Yn2V7stfA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" scale="-2" id="Narr_L2AaSy-QqkiOkBStac_lkA">5</ix:nonFraction>% of a maximum salary amount of $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_cwco_RetirementPlanAxis_country_KY_oKOWIjfHuEKj9Yn2V7stfA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount" scale="0" id="Narr_iSDezlzcN0eTMKnBu9Z2OA">104,400</ix:nonFraction> for Cayman Islands employees, fully matches all contributions made by employees in The Bahamas, and matches contributions of up to&#160;<ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2022_To_12_31_2022_cwco_RetirementPlanAxis_stpr_FL_DKqplJkX-EWxKCap_J3jKw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" scale="-2" id="Narr_RygUrlAZvEawd6gpTvKuTQ">6</ix:nonFraction>% of salary for Florida employees. For California employees, the Company matches contribution amounts up to <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2022_To_12_31_2022_cwco_RetirementPlanAxis_stpr_CA_98NNUc1ilECucy-49BuTuw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent" scale="-2" id="Narr_wac1dKfF_EaOtwFE5sfSDg">2</ix:nonFraction>% of the employee&#39;s salary and matches <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2022_To_12_31_2022_cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis_cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember_cwco_RetirementPlanAxis_stpr_CA_OHPJx1cwnk6tGqUNUKaP2w" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" scale="-2" id="Narr_BlPv5NlLr061cgV-nFGwGg">25</ix:nonFraction>% of contributions above this <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2022_To_12_31_2022_cwco_RetirementPlanAxis_stpr_CA_98NNUc1ilECucy-49BuTuw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent" scale="-2" id="Narr_x6e9e4UgFEyJ6nsm00IvIg">2</ix:nonFraction>% threshold, up to <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2022_To_12_31_2022_cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis_cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember_cwco_RetirementPlanAxis_stpr_CA_srt_RangeAxis_srt_MaximumMember_EjJiUeYjPESXBUAtMfRLxA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" scale="-2" id="Narr_XFsTwGtR-E2d7jjFtPiZgg">10</ix:nonFraction>% of the employee&#8217;s salary. The Company&#8217;s expense for these plans was $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PensionExpense" scale="0" id="Narr_OtNvfYDXq0mp8iasyy2pqg">624,798</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PensionExpense" scale="0" id="Narr_IPc7zkj_Y0WbSeV5T9CHVQ">584,278</ix:nonFraction> for the years ended December 31, 2022 and 2021, respectively<span style="color:#00b050;">.</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:FinancialInstrumentsDisclosureTextBlock" id="Tb_HDzmRdqctE-IL4dt4gKZxw" continuedAt="Tb_HDzmRdqctE-IL4dt4gKZxw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">18. Financial instruments</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Credit risk:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company is not exposed to significant credit risk on its retail customer accounts as its policy is to cease supply of water to customers&#8217; accounts that are more than <span style="-sec-ix-hidden:Hidden_OHWW8FktBkWbXDZJp9x7Wg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">45&#160;days</span></span> overdue. The Company&#8217;s exposure to credit risk is concentrated </p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">69</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_HDzmRdqctE-IL4dt4gKZxw_cont1" continuedAt="Tb_HDzmRdqctE-IL4dt4gKZxw_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">on receivables from its bulk water, services, and manufacturing customers. The Company considers these receivables fully collectible and therefore has not recorded an allowance for these receivables.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Interest rate risk:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company is not subject to significant interest rate risk arising from fluctuations in interest rates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Foreign exchange risk:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">All relevant foreign currencies other than the Mexican peso and the euro have been fixed to the dollar for more than <span style="-sec-ix-hidden:Hidden_Ceex_SV_NkSWydyqJQLXFg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">20&#160;years</span></span> and as a result, the Company does not employ a hedging strategy against exchange rate risk associated with the reporting in dollars. If any of these fixed exchange rates becomes a floating exchange rate or if any of the foreign currencies in which the Company conducts business depreciate significantly against the dollar, the Company&#8217;s consolidated results of operations could be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Fair values:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of December&#160;31, 2022 and 2021, the carrying amounts of cash equivalents, accounts receivable, accounts payable, accrued expenses, accrued compensation, dividends payable and other current liabilities approximate their fair values due to the short-term maturities of these instruments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Under US GAAP, fair value is defined as the exit price, or the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants as of the measurement date. US GAAP guidance also establishes a hierarchy for inputs used in measuring fair value that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that the most observable inputs be used when available. Observable inputs are inputs market participants would use in valuing the asset or liability and are developed based on market data obtained from sources independent of the Company. Unobservable inputs are inputs that reflect the Company&#8217;s assumptions about the factors market participants would use in valuing the asset or liability. The guidance establishes three levels of inputs that may be used to measure fair value:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-align:justify;text-indent:-36pt;margin:0pt 0pt 12pt 54pt;">Level 1&#160;- Quoted prices in active markets for identical assets or liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-align:justify;text-indent:-36pt;margin:0pt 0pt 12pt 54pt;">Level 2&#160;- Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-align:justify;text-indent:-36pt;margin:0pt 0pt 12pt 54pt;">Level 3&#160;- Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Assets and liabilities are classified in their entirety based on the lowest level of input that is significant to the fair value measurements. The Company reviews its fair value hierarchy classifications on a quarterly basis. Changes in the observability of valuation inputs may result in a reclassification of levels for certain securities within the fair value hierarchy.</p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">70</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_44cd2796_203b_41fd_bcfb_bca6762c2384"></a><a id="Tc_toJ_qziRWkKToaTrgkKZbg_1_2"></a><a id="Tc_txvfDsTu4EmMo2AaRqtxTQ_2_2"></a><a id="Tc_jtoV_QvaKkSgfilQaek0dg_2_5"></a><a id="Tc_BlU7MwgAoUyJriv8N2IA4w_2_8"></a><a id="Tc_ITLXZJoKwUmJ-XqmcgpNIg_2_11"></a><a id="Tc_6ZaRNx2zr0SS8D3JdWYFHw_3_0"></a><a id="Tc_f0a4LNb8r0yJSdSM0ILEgg_4_0"></a><a id="Tc_0o9SfV2Zpkq83FNWEvCrBQ_5_0"></a><a id="Tc_RHHVbAKY4ECrAjwId78PBQ_5_2"></a><a id="Tc_S0j09eVJsUOOyggTBXiOxQ_5_3"></a><a id="Tc_f1FeGyO4DUGNefzEUSHwDQ_5_5"></a><a id="Tc_buq5UsWl3EWcs6b7_HVHvA_5_6"></a><a id="Tc_MADY4cxIgkONqJTaRiRvJA_5_8"></a><a id="Tc_MFKYRxJ4wkiQ-dNFc1wmOw_5_9"></a><a id="Tc_g938Wtx5ekOJOzKHcFzcNg_5_11"></a><a id="Tc_b4UlQyN21EGff99a4wyASg_5_12"></a><a id="Tc_WTpctlc2zkmbmzxuga3X4Q_6_0"></a><a id="Tc_-lbXd_RhHUaHl5KJS-tYdQ_6_3"></a><a id="Tc_m9lO5_-e60yUZ17tzSG7_g_6_6"></a><a id="Tc_Gf40NBlzKkCLrwbebD2Tfw_6_9"></a><a id="Tc_2GVEc7RUrkux_l1a_VwD8w_6_12"></a><a id="_887c7c58_0931_4ecb_9503_59eb58976429"></a><a id="Tc_6TpygMpHQk2V4Ml0l750nQ_1_2"></a><a id="Tc_1i8ugpEQ8EuvQSCtFFvhRQ_2_2"></a><a id="Tc_L4HHLqWzdESUUR0ZLwDRlQ_2_5"></a><a id="Tc_FnDiGhO8a0uADDA26UEUhg_2_8"></a><a id="Tc_pVdnpBAD1EuL52PqDJeTFw_2_11"></a><a id="Tc_lM6S3HjR_0ybEj31TsmVJQ_3_0"></a><a id="Tc_XJzbSd-KAEm36f3IZFlrpg_4_0"></a><a id="Tc_ouPwEHJDM0auMmaVHqMAZQ_5_0"></a><a id="Tc_hdH8E8C550Shm3LqJHvxfA_5_2"></a><a id="Tc_8YZuUM0gh0Ov1dyqxuGckA_5_3"></a><a id="Tc_Gl0Q-CmytU2lIFuu0r-mcw_5_5"></a><a id="Tc_yy6B4jf7UEiWTXINvJOqRQ_5_8"></a><a id="Tc_oiAIx0UuWEGxugQBnuzgVg_5_9"></a><a id="Tc_PoKmwy7R9U2mB585sjZdag_5_11"></a><a id="Tc_Ax8NGBGa7ESIgEKfWSqzBQ_6_0"></a><a id="Tc_1g3zJOdtwkKmM5neKctHag_6_3"></a><a id="Tc_1Dvai81UYEeruOHzTRxtjQ_6_6"></a><a id="Tc_zNZZcPZ4BEivE5alldm95w_1_0"></a><a id="Tc_8F9Is-1xw0uK3LNXxfc2mQ_2_0"></a><a id="Tc_hRZeMsghJ0WXvFbkzaapOA_2_2"></a><a id="Tc_xMxx-CrZL02Gpz9BjIxjgQ_3_0"></a><a id="Tc_almJEZb5gk6JoKNIxJE2jQ_4_0"></a><a id="Tc_5LmoBLQK6kKRNbIUko71pg_4_2"></a><ix:continuation id="Tb_HDzmRdqctE-IL4dt4gKZxw_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The following table presents the Company&#8217;s fair value hierarchy for assets and liabilities measured at fair value as of December&#160;31, 2022 and 2021:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock" id="Tb_JnGYG5RtnU6hNA8cLRHYSw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:53.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:53.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:45.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level&#160;1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level&#160;2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level&#160;3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:top;width:53.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Assets:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:53.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Recurring</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:53.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Certificate of deposit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:53.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Net asset arising from put/call options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:53.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:53.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:45.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level&#160;1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level&#160;2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level&#160;3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:top;width:53.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Assets:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:53.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Recurring</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:53.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Certificate of deposit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_FairValueByAssetClassAxis_us-gaap_CertificatesOfDepositMember_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_sPBH5R3JWkKvlSheo55J9g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue" scale="0" id="Tc_-x4JeiLi6kiytux3QIFOUA_5_6">2,500,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_FairValueByAssetClassAxis_us-gaap_CertificatesOfDepositMember_VU-7yE45pEW9Wn-NHJPF7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue" scale="0" id="Tc_DqK5A-T4xk6CxFTiaTDMTw_5_12">2,500,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:53.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Net asset arising from put/call options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_ghdFbST_AUCaVYhxmTxIfg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue" scale="0" id="Tc_Y-Pllpm8u0Glq8QOfK2k4A_6_9">128,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue" scale="0" id="Tc_seuekhjyVUSeGJIYHInc-Q_6_12">128,000</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The activity for the Level 3 asset for the&#160;year ended December&#160;31, 2022:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" id="Tb_Sao62Surv0SiAgVsHNyzWw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net asset arising from put/call options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance as of December&#160;31,&#160;2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs" scale="0" id="Tc_k35rwWHwbkKIV1QXfm7Pkw_2_3">128,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercise of option</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales" sign="-" scale="0" id="Tc_s5q-6Z3Cv0OEKG3GYnbHag_3_3">128,000</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance as of December&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:zerodash" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs" scale="0" id="Tc_8JngVg2Ah02lvXdtgJth1Q_4_3">&#8212;</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The put/call options are reported at fair value at their net asset or liability balance in the consolidated balance sheets. The underlying asset and liability fair values are calculated using discounted cash flow analysis valuation techniques that incorporate unobservable inputs, such as future cash flows, weighted-average cost of capital, and expected future volatility. The inputs to these valuations are considered Level 3 inputs.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-size:1pt;visibility:hidden;">&#8203;</span></p><a id="_Hlk131000327"></a><a id="Narr_Csd6wyHO5kqUmH-l-8a-og"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="Tb_hDBv0t9Oj0Oup0ZzM8OhfQ" continuedAt="Tb_hDBv0t9Oj0Oup0ZzM8OhfQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">19. Commitments and contingencies</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Commitments</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company has entered into employment agreements with certain executives, which expire through December&#160;31, 2025 and provide for, among other things, base annual salaries in an aggregate amount of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="-5" format="ixt:numdotdecimal" name="cwco:EmploymentAgreementBaseAnnualSalaries" scale="6" id="Narr_7RWGP65v30K2R1z7Gcho4w">4.2</ix:nonFraction> million, performance bonuses and various employee benefits.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company has purchase obligations totaling approximately $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_O-UnVApJ9ESzxllq2JlKMQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LongTermPurchaseCommitmentAmount" scale="6" id="Narr_LSotOlsesEatc3mjajBKEg">41.7</ix:nonFraction> million through December 31, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;padding-bottom:12pt;text-align:justify;margin:0pt;">Contingencies</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;background:#ffffff;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Cayman Water</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company sells water through its retail operations under a license issued in July 1990 by the Cayman Islands government (the &#8220;1990 license&#8221;) that granted Cayman Water the exclusive right to provide potable water to customers within its licensed service area. Although the 1990 license was not expressly extended after January 2018, the Company continues to supply water under the terms of the 1990 license, as discussed in the following paragraphs. Pursuant to the 1990 license, Cayman Water has the exclusive right to produce potable water and distribute it by pipeline to its licensed service area, which consists of two of the three most populated areas of Grand Cayman Island: Seven Mile Beach and West Bay. In 2022 and 2021, the Company generated approximately <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="2" format="ixt:numdotdecimal" name="cwco:CaymanWaterRetailOperationsPercentageOfRevenue" scale="-2" id="Narr_5SDFLes9pEyINCjgk_RXEg">27</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="2" format="ixt:numdotdecimal" name="cwco:CaymanWaterRetailOperationsPercentageOfRevenue" scale="-2" id="Narr_SESw0U1FWUKZkMEC-mFhNQ">33</ix:nonFraction>%, respectively, of its consolidated revenue and <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="2" format="ixt:numdotdecimal" name="cwco:CaymanWaterRetailOperationsPercentageOfGrossProfit" scale="-2" id="Narr_WqcpKyuyF0KmIZ0QhRl69A">44</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="2" format="ixt:numdotdecimal" name="cwco:CaymanWaterRetailOperationsPercentageOfGrossProfit" scale="-2" id="Narr__PRPIS3C4kq5LiW_jI_gug">47</ix:nonFraction>%, respectively, of its consolidated gross profit from the retail water operations conducted under the 1990 license.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">71</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_hDBv0t9Oj0Oup0ZzM8OhfQ_cont1" continuedAt="Tb_hDBv0t9Oj0Oup0ZzM8OhfQ_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The 1990 license was originally scheduled to expire in July 2010 but was extended several times by the Cayman Islands government in order to provide the parties with additional time to negotiate the terms of a new license agreement. The most recent express extension of the 1990 license expired on January 31, 2018. The Company continues to operate under the terms of the 1990 license, providing water services to the level and quality specified in the 1990 license and in accordance with its understanding of its legal obligations, treating those obligations set forth in the 1990 license as operative notwithstanding the expiration of the express extension. The Company continues to pay the royalty of 7.5% of revenue it collects required under the 1990 license.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In October&#160;2016, the Government of the Cayman Islands passed legislation which created a new utilities regulation and competition office (&#8220;OfReg&#8221;). OfReg is an independent and accountable regulatory body with a view of protecting the rights of consumers, encouraging affordable utility services and promoting competition. OfReg, which began operations in January&#160;2017, has the ability to supervise, monitor and regulate multiple utility undertakings and markets. Supplemental legislation was passed by the Government of the Cayman Islands in April&#160;2017, which transferred responsibility for economic regulation of the water utility sector and the negotiations with the Company for a new retail license from the WAC to OfReg in May&#160;2017. The Company began license negotiations with OfReg in July&#160;2017 and such negotiations are ongoing. The Company has been informed during its retail license negotiations, both by OfReg and its predecessor in these negotiations, that the Cayman Islands government seeks to restructure the terms of its license in a manner that could significantly reduce the operating income and cash flows the Company has historically generated from its retail license.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company is presently unable to determine what impact the resolution of its retail license negotiations will have on its consolidated financial condition or results of operations but such resolution could result in a material reduction (or the loss) of the operating income and cash flows the Company has historically generated from Cayman Water&#8217;s retail operations and could require the Company to record impairment losses to reduce the carrying values of its retail segment assets. Such impairment losses could have a material adverse impact on the Company&#8217;s consolidated financial condition and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="text-decoration-line:underline;text-decoration-style:solid;">CW-Bahamas</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">CW-Bahamas&#8217; accounts receivable balances (which include accrued interest) due from the WSC amounted to $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_srt_MajorCustomersAxis_cwco_WSCMember_qBKQcLXzfkOhn3zBjmX31Q" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNet" scale="6" id="Narr_Ms2kVCcLKkGRDQxhYSTWew">16.3</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_srt_MajorCustomersAxis_cwco_WSCMember_3t1KGfarBU-BjDelzIMeqw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNet" scale="6" id="Narr_Rf7Anq6g0k-AjTJb7XC9BQ">21.5</ix:nonFraction> million as of December 31, 2022 and 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">From time to time, CW-Bahamas has experienced delays in collecting its accounts receivable from the WSC. When these delays occur, the Company holds discussions and meetings with representatives of the WSC and The Bahamas government, and as a result, payment schedules are developed for WSC&#8217;s delinquent accounts receivable. All previous delinquent accounts receivable from the WSC, including accrued interest thereon, were eventually paid in full. Based upon this payment history, CW-Bahamas has never been required to provide an allowance for doubtful accounts for any of its accounts receivable, despite the periodic accumulation of significant delinquent balances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In February 2022, CW-Bahamas received correspondence from the Ministry of Finance of the Government of The Bahamas that stated that the Government intends to return all of CW-Bahamas&#8217; accounts receivable from the WSC to current status.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In its latest report dated October 6, 2022, Moody&#8217;s Investor Services (&#8220;Moody&#8217;s&#8221;) downgraded the Government of The Bahamas&#8217; long-term issuer and senior unsecured ratings to B1 from Ba3. Moody&#8217;s also lowered The Bahamas&#8217; local currency ceiling to Baa3 from Baa2 and its foreign currency ceiling to Ba1 from Baa3. Based upon its review of this Moody&#8217;s report, the Company continues to believe no allowance for doubtful accounts is required for CW-Bahamas&#8217; accounts receivable from the WSC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">72</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_hDBv0t9Oj0Oup0ZzM8OhfQ_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:normal;">If CW-Bahamas continues to be unable to collect a significant portion of its delinquent accounts receivable, one or more of the following events may occur: (i)&#160;CW-Bahamas may not have sufficient liquidity to meet its obligations; (ii)&#160;the Company may be required to cease the recognition of revenue on CW-Bahamas&#8217; water supply agreements with the WSC; and (iii)&#160;the Company may be required to provide an allowance for doubtful accounts for CW-Bahamas&#8217; accounts receivable. Any of these events could have a material adverse impact on the Company&#8217;s consolidated financial condition, results of operations, and cash flows.</span></p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-size:1pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:RelatedPartyTransactionsDisclosureTextBlock" id="Tb_SbIG1hlxBEOwJIAwpooghw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">20. Related party transactions</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company, through PERC and the services segment, purchases engineering and technology support services from various companies with a minority shareholder who is also a minority shareholder of PERC. During the years ended December 31, 2022 and 2021, the Company made total purchases of services of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_cwco_PercWaterCorporationMember_iSPiZunAVk6dezcZHWn32w" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="0" id="Narr_S2kLmwDp5EyvAgPMdkgexQ">2,695,000</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_cwco_PercWaterCorporationMember_jYS-R1U8vU6_Xhm4uPjjeQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="0" id="Narr_MxKdPA4N9UK9yGVv_M-MtQ">438,000</ix:nonFraction> from these companies, respectively. These total purchases are included in the Company&#8217;s cost of revenue in the accompanying consolidated statements of <span style="background:#ffffff;">income</span>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">PERC has entered into a lease agreement with one of these related companies that commenced on March 14, 2021 and ended August 31, 2021. This lease has been extended on a month-to-month basis subsequent to August 31, 2021. During the years ended December 31, 2022 and 2021, the Company recognized approximately $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_cwco_PercWaterCorporationMember_iSPiZunAVk6dezcZHWn32w" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty" scale="0" id="Narr_dANQjDMqGkWLqUE2zodftw">97,000</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_cwco_PercWaterCorporationMember_jYS-R1U8vU6_Xhm4uPjjeQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty" scale="0" id="Narr_j44wIcWom0O_LmGl0wAMYw">77,000</ix:nonFraction> of expense related to this lease, respectively. This lease expense is included in the Company&#39;s general and administrative expenses in the accompanying consolidated statements of income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The total amount of accounts payable outstanding to these companies as of December 31, 2022 and 2021, was approximately $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_cwco_PercWaterCorporationMember_V92CEwDlokyy-KCOgpl1dA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableRelatedPartiesCurrent" scale="0" id="Narr_tpWeeF1VfkaUgcgCu89qAw">404,000</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_cwco_PercWaterCorporationMember_K_j9JEvI_UO9v1KqTSC8xg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableRelatedPartiesCurrent" scale="0" id="Narr_91rXZ4R1B02rIfQi_dhg3Q">164,000</ix:nonFraction>, respectively.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><a id="Tc_FKCGbe5jjEeNUGbqYkxBAA_1_2"></a><a id="Tc_lEtZoIbfP0aHyV_dTGd82Q_2_2"></a><a id="Tc_ZEGzJKrO7Uqm3wdGLYCRdg_2_5"></a><a id="Tc_fNP96Kja8kGRZiNexEY_MQ_3_0"></a><a id="Tc_t7oDrmQ_mUCNHL27s7Jfpw_3_2"></a><a id="Tc_z9cdw0zUOkKBbHblsK33uQ_3_5"></a><a id="Tc_sIppX1qx00i8IUVnKhEGOQ_4_0"></a><a id="Tc_GWMBtrDdTUCv9S2LiIXC0w_4_2"></a><a id="Tc_eMGWLwuN6kuZ9c96-ThIvQ_4_5"></a><a id="Tc_-OKwfq_MPE-Vc5Gdr4Qm9g_6_0"></a><a id="Tc_yA4UAp2tckSO2vZ3bcm33g_7_0"></a><a id="Tc_pvCsCF7r0ESrhbCFHhotww_7_2"></a><a id="Tc_EeEd6xsQQUeXzO2Q5DmbuQ_7_5"></a><a id="Tc_SNNYKoILLk-207GWCii-gA_8_0"></a><a id="Tc_6KfbxazVkEGCEedlYYzvPQ_8_2"></a><a id="Tc_8kszhaHvsEa94ng4hPu6wA_8_5"></a><a id="Tc_vCBYImEDMU6hVc26v0UdTg_9_0"></a><a id="Tc_K5Ph06qD4k2t12NQ4U_i-Q_9_2"></a><a id="Tc_syygf2pqNUqNnbd_IVkY9A_9_5"></a><a id="Tc_LkCTww6noky-lMMTzVBZyA_10_0"></a><a id="Tc_1_IoYBp5AEaJOsVR1xtjmw_10_2"></a><a id="Tc_olXN_DrlkE6Q14ZSnywuOQ_10_5"></a><a id="Tc_WTm1sBz_EECvEO-XrhWGgQ_11_0"></a><a id="Tc_W6Pylz7Fx0SCC9i4UxZ0cQ_11_2"></a><a id="Tc_q62pnC7AhketuTydHdQ36Q_11_5"></a><a id="Tc_DYgxHhWLk0OeOtscXcqGOQ_12_0"></a><a id="Tc_TuRKjs3BMUSrjZSBlVe8xQ_12_2"></a><a id="Tc_LbpUdOzErUC52IpS88sCYw_12_5"></a><a id="Tc_Y5Mg3O65I0ml03yTfC66Cg_13_0"></a><a id="Tc_UV0veven40qSybgIfGF1Dg_13_2"></a><a id="Tc_jkvDNUfqHEC7vEGYYTdc1g_13_5"></a><a id="Tc_Jk0ZJv7KB0C61bBoe-E83w_14_0"></a><a id="Tc_y_XpK1u4aUicME8_493Ipg_14_2"></a><a id="Tc_ZE_CpZTUAEO8NvvpJIBHvw_14_5"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:CashFlowSupplementalDisclosuresTextBlock" id="Tb_s2RSa7k2_k-amlOoFYn2Sw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;">21. Supplemental disclosure of cash flow information</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="cwco:ScheduleOfSupplementalDisclosureOfCashFlowInformation" id="Tb_qwDVh6yaDkiPclz0ZdrGaw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Interest paid in cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="0" id="Tc_ihASPeAGpEybpD_xCugtEg_3_3">14,797</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="0" id="Tc_x-FB7rejX0edBOFVjRNL9w_3_6">10,248</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income taxes paid in cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxesPaidNet" scale="0" id="Tc_hZ4JEang_0O28aICum3_DA_4_3">211,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxesPaidNet" scale="0" id="Tc_1tBQGe9BYkeIrP55oPKP6Q_4_6">160,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Non-cash transactions:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Issuance of <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_2cgc8-j8cUCv6seVGLB6Uw" decimals="0" format="ixt:numdotdecimal" name="cwco:CommonStockIssuedDuringPeriodValueIssuedForServices" scale="0" id="Narr_YQHV-sFVKEKIWCm_whgjCw">9,295</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_AjbJjcVS60Oq3_8Jk4K9Og" decimals="0" format="ixt:numdotdecimal" name="cwco:CommonStockIssuedDuringPeriodValueIssuedForServices" scale="0" id="Narr_-OqQYdryekKn6kvvjMXA6w">8,632</ix:nonFraction>, respectively, shares of redeemable preferred stock for services rendered</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_2cgc8-j8cUCv6seVGLB6Uw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssued1" scale="0" id="Tc_IHNsGvGON0OBh7nU6NyanQ_7_3">133,197</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_AjbJjcVS60Oq3_8Jk4K9Og" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssued1" scale="0" id="Tc_k1QxmP3ejEeBiEaoN5vh4g_7_6">102,203</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Issuance of <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonStockMember_ROTuIP-Ci0azhf2ymCxf_g" decimals="0" format="ixt:numdotdecimal" name="cwco:CommonStockIssuedDuringPeriodValueIssuedForServices" scale="0" id="Narr_fo_ncYHIvkGQvWC8Ua54AQ">72,597</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonStockMember_fPb33q03cUOApGb1OUAYcA" decimals="0" format="ixt:numdotdecimal" name="cwco:CommonStockIssuedDuringPeriodValueIssuedForServices" scale="0" id="Narr_JU_JVU5PrU-E5Zs1PY99cQ">88,488</ix:nonFraction>, respectively, shares of common stock for services rendered</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonStockMember_ROTuIP-Ci0azhf2ymCxf_g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssued1" scale="0" id="Tc_yxlNwOGqlUSbtj0AL5FqyA_8_3">521,016</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonStockMember_fPb33q03cUOApGb1OUAYcA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssued1" scale="0" id="Tc_4gucuoliIEu45qd44Et1pA_8_6">745,468</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Conversion (on a one-to-one basis) of <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_2cgc8-j8cUCv6seVGLB6Uw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ConversionOfStockSharesConverted1" scale="0" id="Narr_XQtcM1K2IUifgXBazrLCLg">6,585</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_AjbJjcVS60Oq3_8Jk4K9Og" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ConversionOfStockSharesConverted1" scale="0" id="Narr_rYBgAIrzOkOQ6dXOjbO-Aw">11,522</ix:nonFraction>, respectively, shares of redeemable preferred stock to common stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_2cgc8-j8cUCv6seVGLB6Uw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ConversionOfStockAmountConverted1" scale="0" id="Tc_AobSiTSuxEiIBvtrvkviXg_9_3">3,951</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_AjbJjcVS60Oq3_8Jk4K9Og" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ConversionOfStockAmountConverted1" scale="0" id="Tc_ewT5kma_dU6MpJyOAVcc7Q_9_6">6,913</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Dividends declared but not paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DividendsPayableCurrentAndNoncurrent" scale="0" id="Tc__I63xJBlSU-V3373dRW1vA_10_3">1,305,367</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DividendsPayableCurrentAndNoncurrent" scale="0" id="Tc_ry2RRohuXE2u75pHcQ5dCg_10_6">1,298,148</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Transfers from inventory to property, plant and equipment and construction in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="cwco:TransfersBetweenInventoryAndPropertyPlantAndEquipment" scale="0" id="Tc_7rJ6d-xghEiYzEtGbfZ7kA_11_3">346,024</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="cwco:TransfersBetweenInventoryAndPropertyPlantAndEquipment" scale="0" id="Tc_WOmqDkSNzEyR1abnmScGaA_11_6">189,924</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Transfers from construction in progress to property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="cwco:NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet" scale="0" id="Tc_VIhv0kx8g0OMuT0FufSU4Q_12_3">297,723</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="cwco:NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet" scale="0" id="Tc_3OPXSGQEbUG2QXxso85d9Q_12_6">644,224</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Right-of-use assets obtained in exchange for new operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:zerodash" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="0" id="Tc_-tB-FKF99UOtlPaE5vFc_A_13_3">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="0" id="Tc_H_o50OU9jEOYPErxk5xFpQ_13_6">1,852,608</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Purchase of equipment through issuance of long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction" scale="0" id="Tc_ftwsI78e_kOurXnHc5gC8w_14_3">188,645</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction" scale="0" id="Tc_QgnrFzNUxE6t3vjHcgJO4w_14_6">95,707</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" id="Tb_-gr9R8xRMUOcnDv7RbFIrg" continuedAt="Tb_-gr9R8xRMUOcnDv7RbFIrg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">22. Impact of recent accounting standards</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Adoption of new accounting standards:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">None.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Effect of newly issued but not yet effective accounting standards:</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">None.</p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">73</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_-gr9R8xRMUOcnDv7RbFIrg_cont1"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_9da60069_d611_4947_b656_af4727b90e5d"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g" name="us-gaap:SubsequentEventsTextBlock" id="Tb_bJpl4XI5aUiXI_EAe_rkiQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">23. Subsequent events</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company evaluated subsequent events through the time of the filing of its Annual Report on Form&#160;10-K. Other than as disclosed in these consolidated financial statements, the Company is not aware of any significant events that occurred subsequent to the balance sheet date but prior to the filing of this report that would have a material impact on its consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">On January 4, 2023, as a result of CW-Holdings&#39; exercise of a call option in October 2022, CW-Holdings purchased the remaining&#160;</span><span style="background:#ffffff;"><ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="As_Of_1_4_2023_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember__4drtsrZXESsUSyeQaBULg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired" scale="-2" id="Narr_yYKhn-v2Y0WhI5KiACL-tw">39</ix:nonFraction>%</span><span style="background:#ffffff;"> ownership interest in PERC for </span><span style="background:#ffffff;">$<ix:nonFraction unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA" contextRef="Duration_1_4_2023_To_1_4_2023_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_yOgK1SLiHkOOenJfWHS0YA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationConsiderationTransferred1" scale="6" id="Narr_-V5aL1PR_06jnWFqNvIM-Q">2.4</ix:nonFraction></span><span style="background:#ffffff;"> million&#160;in cash and </span><span style="background:#ffffff;"><ix:nonFraction unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg" contextRef="Duration_1_4_2023_To_1_4_2023_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_yOgK1SLiHkOOenJfWHS0YA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" scale="0" id="Narr_M8uTzRkb10awqWkoYLmBzg">368,383</ix:nonFraction></span><span style="background:#ffffff;"> shares of the Company&#8217;s common stock. After giving effect to this purchase, CW-Holdings owns&#160;</span><span style="background:#ffffff;"><ix:nonFraction unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg" contextRef="As_Of_1_4_2023_srt_OwnershipAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_5JH0iRvD3EWeoHNXQ5FD9g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_EqzEDjSGbkKDeYd8RPxY_Q">100</ix:nonFraction>%</span><span style="background:#ffffff;"> of the outstanding capital stock of PERC.</span></p></ix:nonNumeric><a id="ITEM9CHANGESINANDDISAGREEMENTSWITHACCOUN"></a><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:54pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">ITEM 9.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">CHANGES IN AND DISAGREEMENTS WITH ACCOUNTANTS ON ACCOUNTING AND </b><b style="font-weight:bold;">FINANCIAL DISCLOSURE</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">None.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><a id="_e9e4f04a_f33b_4936_a20d_4e708d9dc13e"></a><a id="ITEM9ACONTROLSANDPROCEDURES_316636"></a><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:54pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">ITEM 9A.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">CONTROLS AND PROCEDURES</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Disclosure Controls and Procedures</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Disclosure controls and procedures are the Company&#8217;s controls and other procedures that are designed to ensure that information required to be disclosed by us in the reports that we file or submit under the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;) is recorded, processed, summarized and reported within the time periods specified in the SEC&#8217;s rules&#160;and forms. Disclosure controls and procedures include, without limitation, controls and procedures designed to ensure that information required to be disclosed by us in the reports that we file under the Exchange Act is accumulated and communicated to our management, including our principal executive officer and principal financial officer, as appropriate, to allow timely decisions regarding required disclosure. Our management recognizes that any controls and procedures, no matter how well designed and operated, can only provide reasonable assurance of achieving their objectives and management necessarily applies its judgment in evaluating the possible controls and procedures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Our management has evaluated, with the participation of our principal executive officer and principal financial officer, the effectiveness of our disclosure controls and procedures (as such term is defined in Rules&#160;13a-15(e)&#160;and 15d-15(e)&#160;under the Exchange Act) as of the end of the period covered by this report. Based upon that evaluation, our management, including our principal executive officer and principal financial officer, has concluded that, as of the end of the period covered by this report, the Company&#8217;s disclosure controls and procedures were effective at the reasonable assurance level.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Internal Control Over Financial Reporting</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Management&#8217;s Annual Report on Internal Control Over Financial Reporting</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 18pt;">MANAGEMENT&#8217;S REPORT ON INTERNAL CONTROL OVER FINANCIAL REPORTING</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 18pt;">Company management is responsible for establishing and maintaining adequate internal control over financial reporting. Internal control over financial reporting is a process designed by, or under the supervision of, our principal executive officer and principal financial officer and effected by the Company&#8217;s 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 generally accepted accounting principles in the United States of America and includes those policies and procedures that:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">pertain to the maintenance of records that in reasonable detail accurately and fairly reflect the transactions and dispositions of the assets of the Company;</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">74</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles in the United States of America, and that receipts and expenditures of the Company are being made only in accordance with authorizations of management and Directors of the Company; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use or disposition of the Company&#8217;s assets that could have a material effect on the financial statements.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 18pt;">Because of 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 risks that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 18pt;">Management assessed the effectiveness of the Company&#8217;s internal control over financial reporting as of December&#160;31, 2022. In making this assessment, management used the criteria set forth by the Committee of Sponsoring Organizations of the Treadway Commission (COSO) in <i style="font-style:italic;">Internal Control-Integrated Framework (2013)</i>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 18pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 18pt;">Based on our assessment, management has concluded that, as of December&#160;31, 2022, the Company&#8217;s internal control over financial reporting was effective at the reasonable assurance level.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 18pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Changes in Internal Control Over Financial Reporting</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">There were no changes in the Company&#8217;s internal control over financial reporting identified in connection with the evaluation of such internal control that occurred during the Company&#8217;s last fiscal quarter that have materially affected, or are reasonably likely to materially affect, the Company&#8217;s internal control over financial reporting.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">75</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_7ae815ae_8f40_4c8b_a25a_509d052b5e50"></a><a id="ITEM9BOTHERINFORMATION"></a><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:54pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">ITEM 9B.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">OTHER INFORMATION</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">None.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:54pt;text-indent:-54pt;margin:0pt;"><span style="color:#00b050;font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_b77fc17f_c0de_4b45_8178_7b13a9c9c36e"></a><a id="ITEM9C_DISCLOSUREREGARDINGFOREIGN"></a><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:54pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">ITEM 9C.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">DISCLOSURE REGARDING FOREIGN JURISDICTIONS THAT PREVENT INSPECTIONS</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="color:#00b050;font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_ce6cbecd_7156_413e_a9d0_95e3f3abdd70"></a><a id="PARTIII_659249"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">PART&#160;III</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="ITEM10DIRECTORSEXECUTIVEOFFICERSANDCORPO"></a><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:54pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">ITEM 10.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">DIRECTORS, EXECUTIVE OFFICERS AND CORPORATE GOVERNANCE</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Information required by this item with respect to our Directors and the nomination process is contained in the proxy statement for our 2023 Annual Meeting of Shareholders to be filed with the SEC (the &#8220;Proxy Statement&#8221;) under the heading &#8220;Proposal 1 - Election of Directors&#8221; and is incorporated by reference in this Annual Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Information required by this item with respect to our Executive Officers is set forth in the Proxy Statement under the heading &#8220;Executive Officers&#8221; <span style="background:#ffffff;">and is incorporated by reference in this Annual Report.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Information required by this item with respect to our audit committee and our audit committee financial expert is contained in the Proxy Statement under the heading &#8220;Proposal 1 - Election of Directors - Committees of the Board of Directors - Audit Committee&#8221; and is incorporated by reference in this Annual Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="background:#ffffff;">To our knowledge, based solely on review of reports required by Section 16(a) of the Exchange Act and written representations from the certain reporting persons, we believe that during the fiscal year ended December 31, 2022, our officers, directors and significant shareholders have timely filed the appropriate form under Section 16(a) of the Exchange Act</span>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Board of Directors has adopted a Code of Business Conduct and Ethics (the &#8220;Code&#8221;) that applies to all of the Company&#8217;s Directors, Officers (including the Principal Executive Officer, Principal Financial Officer and Principal Accounting Officer) and employees. Information related to the Code is contained in the Proxy Statement under the heading &#8220;Proposal 1 - Election of Directors - Governance of the Company&#8221; and is incorporated by reference in this Annual Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We intend to disclose future amendments to certain provisions of the Code, or waivers of such provisions granted to Executive Officers and Directors, on our website within four business days following the date of such amendment or waiver.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><a id="_1c89deb2_ce5c_4b8f_b465_d28b9d81f563"></a><a id="ITEM11EXECUTIVECOMPENSATION_314827"></a><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:54pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">ITEM 11.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">EXECUTIVE COMPENSATION</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Information required by this item with respect to executive compensation and director compensation is contained in the Proxy Statement under the heading &#8220;Executive Compensation&#8221; and is incorporated by reference in this Annual Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><a id="_769d86cc_d735_4b28_980a_3015dfa9b6ee"></a><a id="ITEM12SECURITYOWNERSHIPOFCERTAINBENEFICI"></a><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:54pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">ITEM 12.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">SECURITY OWNERSHIP OF CERTAIN BENEFICIAL OWNERS AND MANAGEMENT AND</b><b style="font-weight:bold;"> RELATED STOCKHOLDER MATTERS</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Information required by this item with respect to security ownership of certain beneficial owners and management is contained in the Proxy Statement under the heading &#8220;Security Ownership of Certain Beneficial Owners and Management and Related Shareholders Matters&#8221; and is incorporated by reference in this Annual Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">76</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_0e93aaec_270c_4106_9373_24d3b536b045"></a><a id="ITEM13CERTAINRELATIONSHIPSANDRELATEDTRAN"></a><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:54pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">ITEM 13.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">CERTAIN RELATIONSHIPS AND RELATED TRANSACTIONS, AND DIRECTOR</b><b style="font-weight:bold;"> INDEPENDENCE</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Information required by this item with respect to such contractual relationships and director independence is contained in the Proxy Statement under the headings &#8220;Executive Compensation - Transactions With Related Persons&#8221; and is incorporated by reference in this Annual Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><a id="_351276ee_77ae_49dc_91ee_499e4ed31c9c"></a><a id="ITEM14PRINCIPALACCOUNTINGFEESANDSERVICES"></a><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:54pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">ITEM 14.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">PRINCIPAL ACCOUNTING FEES AND SERVICES</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Information with respect to principal accounting fees and services are contained in the Proxy Statement under the heading &#8220;Proposal 4 Ratification of the Selection of Independent Accountants - Principal Accounting Fees and Services&#8221; and is incorporated by reference in this Annual Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><a id="_fc438d96_2105_4a2c_a4f8_ea7fdd06a403"></a><a id="PARTIV_761160"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">PART&#160;IV</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="ITEM15EXHIBITSFINANCIALSTATEMENTSSCHEDUL"></a><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:54pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">ITEM 15.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">EXHIBITS, FINANCIAL STATEMENT SCHEDULES</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">1. Financial Statements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Consolidated Water Co. Ltd. Financial statements found in ITEM 8. FINANCIAL STATEMENTS AND SUPPLEMENTARY DATA are incorporated herein by reference.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">2. Financial Statement Schedules</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">None.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">3. Exhibits</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Exhibits listed in the Exhibit&#160;Index immediately preceding the Signatures are filed as part of this Annual Report on Form&#160;10-K.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><a id="_3d343cd7_280d_4603_8649_aad315a5dbf4"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CONSOLIDATED WATER CO. LTD.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INDEX TO EXHIBITS FILED WITH 10-K</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.0978775%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><th style="font-weight:normal;text-align:left;vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></th></tr><tr><th style="font-weight:normal;text-align:left;vertical-align:top;width:9.76%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Number</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:88.17%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exhibit Description</b></p></th></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">3.1</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000155837022009422/cwco-20220523xex31.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;background:#ffffff;">Amended and Restated Memorandum of Association of Consolidated Water Co. Ltd. dated May 23, 2022 (incorporated by reference to Exhibit 3.1 filed as part of our Form 8-K filed May 27, 2022, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">3.2</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000155837022009422/cwco-20220523xex32.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;background:#ffffff;">Amended and Restated Articles of Association of Consolidated Water Co. Ltd. dated May 23, 2022 (incorporated by reference to Exhibit 3.2 filed as part of our Form 8-K filed May 27, 2022, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">4.1**</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="cwco-20221231xex4d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Description of Securities</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.1.1</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">License Agreement dated July 11, 1990 between Cayman Water Company Limited and the Government of the Cayman Islands (incorporated herein by reference to the exhibit filed as a part of our Form 20-F dated December 7, 1994, Commission File No. 0-25248)</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.1.2</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">First Amendment to License Agreement dated September 18, 1990 between Cayman Water Company Limited and the Government of the Cayman Islands. (incorporated herein by reference to the exhibit filed as a part of our Form 20-F dated December 7, 1994, Commission File No. 0-25248)</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">77</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.0978775%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><th style="font-weight:normal;text-align:left;vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></th></tr><tr><th style="font-weight:normal;text-align:left;vertical-align:top;width:9.76%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Number</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:88.17%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exhibit Description</b></p></th></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.1.3</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Second Amendment to License Agreement dated February 14, 1991 between Cayman Water Company Limited and the Government of the Cayman Islands. (incorporated herein by reference to the exhibit filed as a part of our Form 20-F dated December 7, 1994, Commission File No. 0-25248)</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.1.4</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000095014402003099/g75127ex10-4.txt"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Third Amendment to a License to Produce Potable Water dated August 15, 2001 between Consolidated Water Co. Ltd. by the Government of the Cayman Islands (incorporated herein by reference to Exhibit 10.4 filed as a part of our Form 10-K for the fiscal year ended December 31, 2001, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.1.5</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000095014403004200/g81580exv10w5.txt"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Fourth Amendment to a License to Produce Potable Water dated February 1, 2003 between Consolidated Water Co. Ltd. by the Government of the Cayman Islands (incorporated herein by reference to Exhibit 10.5 filed as a part of our Form 10-K for the fiscal year ended December 31, 2002, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.1.6</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000114420410039056/v191246_ex10.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amendment to License Agreement dated July 20, 2010 between the Government of the Cayman Islands and Cayman Water Company Limited (incorporated herein by reference to Exhibit 10 filed as a part of our Form 8-K filed July 23, 2010, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.1.7</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000114420412044065/v318394_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amendment to a License to Produce Potable Water dated&#160;July 11, 2012 between Cayman Water Company Limited and the Government of the Cayman Islands (incorporated herein by reference to Exhibit 10.1 filed as a part of our Form 10-Q for the second quarter ended June 30, 2012, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.1.8</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000114420413012735/v336971_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amendment to License Agreement dated December 31, 2012 between the Government of the Cayman Islands and Cayman Water Company Limited (incorporated herein by reference to Exhibit 10.1 filed as a part of our Form 8-K filed March 4, 2013, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.1.9&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000114420414016217/v370654_ex10-1x9.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amendment to License Agreement dated April 24, 2013 between the Government of the Cayman Islands and Cayman Water Company Limited (incorporated herein by reference to Exhibit 10.1.9 filed as a part of our Form 10-K for the fiscal year ended December 31, 2013, Commission File No. 0-25248)</span></a>&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.1.10&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000114420414016217/v370654_ex10-1x10.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amendment to License Agreement dated November 6, 2013 between the Government of the Cayman Islands and Cayman Water Company Limited (incorporated herein by reference to Exhibit 10.1.10 filed as a part of our Form 10-K for the fiscal year ended December 31, 2013, Commission File No. 0-25248)</span></a>&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.1.11</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000114420414042900/v383821_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amendment to License Agreement dated June 30, 2014 between the Government of the Cayman Islands and Cayman Water Company Limited (incorporated herein by reference to Exhibit 10.1 to our Form 8-K filed July 14,2014, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:34.1pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.1.12&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000114420415016020/v403209_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amendment to License Agreement dated January 20, 2015 between the Government of the Cayman Islands and Cayman Water Company Limited (incorporated herein by reference to Exhibit 10.1.12 filed as a part of our Form 10-K for the fiscal year ended December 31, 2014, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.1.13</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000114420416088251/v433076_ex10-1x13.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amendment to License Agreement dated August 5, 2015 between the Government of the Cayman Islands and Cayman Water Company Limited (incorporated herein by reference to Exhibit 10.1.13 filed as a part of our Form 10-K for the fiscal year ended December 31, 2015, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.1.14</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000114420416117758/v445742_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amendment to License Agreement dated April 11, 2016 between the Government of the Cayman Islands and Cayman Water Company Limited (incorporated by reference to Exhibit 10.1 filled as part of our Form 10-Q for the fiscal quarter ended June 30, 2016, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.2</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000095014401004659/g68171ex10-12.txt"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Water Supply Agreement dated December 18, 2000 between Consolidated Water Co. Ltd. and South Bimini International Ltd. (incorporated herein by reference to Exhibit 10.12 filed as a part of our Form 10-K for the fiscal year ended December 31, 2000, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">78</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.0978775%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><th style="font-weight:normal;text-align:left;vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></th></tr><tr><th style="font-weight:normal;text-align:left;vertical-align:top;width:9.76%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Number</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:88.17%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exhibit Description</b></p></th></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.3.1*</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000095014404003858/g88198exv10w18.txt"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Employment contract dated December 5, 2003 between Frederick McTaggart and Consolidated Water Co. Ltd. (incorporated herein by reference to Exhibit 10.18 filed as a part of our Form 10-K for the fiscal year ended December 31, 2003, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.3.2*</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000095014407008695/g09569exv10w2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amendment of Engagement Agreement dated September 14, 2007 between Frederick W. McTaggart and Consolidated Water Co. Ltd. (incorporated herein by reference to Exhibit 10.2 to our Form 8-K filed September 19, 2007, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.3.3*</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000114420409047813/v160096_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Third Amendment of Engagement Agreement dated September 9, 2009 between Frederick W. McTaggart and Consolidated Water Co. Ltd. (incorporated herein by reference to Exhibit 10.1 to our Form 8-K filed September 10, 2009, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.4*</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000095014408000319/g11421exv10w1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Engagement Agreement dated January 15, 2008 between David Sasnett and Consolidated Water Co. Ltd. (incorporated herein by reference to Exhibit 10.1 filed as part of our Form 8-K filed January 22, 2008, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.5.1*</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000095014409002283/g18050exv10w11.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Employment contract dated January 14, 2008 between Ramjeet Jerrybandan and Consolidated Water Co. Ltd. (incorporated herein by reference to Exhibit 10.11 filed as part of our Form 10-K for the fiscal year ended December 31, 2008, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.5.2*</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000114420417018862/v463387_ex10-2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">First Amendment to Employment Contract dated March 29, 2017 between Ramjeet Jerrybandan and Consolidated Water Co. Ltd. (incorporated herein by reference to Exhibit 10.2 filed as part of our Form 8-K filed April 4,2017, Commission File No. 0-25248)</span></a>&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.5.3*</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000155837022014384/cwco-20220909xex10d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;background:#ffffff;">Second Amendment of Engagement Agreement dated September 9, 2022 between Ramjeet Jerrybandan and Consolidated Water Co. Ltd. (incorporated by reference to Exhibit 10.1 filed as part of our Form 8-K filed September 13, 2022, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.6</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Specimen Service Agreement between Cayman Water Company Limited and consumers (incorporated herein by reference to the exhibit filed as part of our Registration Statement on Form F-1 dated March 26, 1996)</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.7*</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000095014400005337/0000950144-00-005337-index.html"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Summary Share Grant Plan for Directors (incorporated herein by reference to Exhibit 10.24 filed as part of our Registration Statement on Form F-2 dated May 17, 2000, Commission File No. 333-35356)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.8*</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000095014402003099/g75127ex10-26.txt"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Employee Share Option Plan (incorporated herein by reference to Exhibit 10.26 filed as a part of our Form 10-K for the fiscal year ended December 31, 2001, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.9*</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000095014408008414/g16491exv10w1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">2008 Equity Incentive Plan (incorporated by reference to Exhibit 10.1 filled as part of our Form 10-Q for the fiscal quarter ended September 30, 2008, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.10</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000155837022004635/cwco-20211231xex10d10.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Water Supply Agreement dated March 5, 2018 between Cayman Water Company Limited and Cayman Shores Development Ltd. </span><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;background:#ffffff;">(incorporated herein by reference to Exhibit 10.10 filed as a part of our Form 10-K for the fiscal year ended December 31, 2021, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.11</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000095014402003099/g75127ex10-52.txt"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Lease dated December 10, 2001 between Cayman Hotel and Golf Inc. and Consolidated Water Co. Ltd. (incorporated herein by reference to Exhibit 10.52 filed as a part of our Form 10-K for the fiscal year ended December 31, 2001, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.12.1&#8224;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000114420411006075/v210070_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Agreement for Desalinated Water Supply dated May 2005 among Water and Sewerage Corporation, Consolidated Water Co. Ltd. and Consolidated Water (Bahamas) Limited (incorporated herein by reference to Exhibit 10.1 filed as a part of our Form 8-K filed February 4, 2011, File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">79</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.0978775%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><th style="font-weight:normal;text-align:left;vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></th></tr><tr><th style="font-weight:normal;text-align:left;vertical-align:top;width:9.76%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Number</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:88.17%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exhibit Description</b></p></th></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.12.2&#8224;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000114420411006075/v210070_ex10-2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Letter of Acceptance dated January 25, 2011 (effective January 31, 2011) between Water and Sewerage Corporation and Consolidated Water Co. Ltd. (incorporated herein by reference to Exhibit 10.2 filed as a part of our Form 8-K filed February 4, 2011, File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.12.3&#8224;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000114420411006075/v210070_ex10-3.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Proposal letter dated December 8, 2010 addressed to the Water and Sewerage Corporation (incorporated herein by reference to Exhibit 10.3 filed as a part of our Form 8-K filed February 4, 2011, File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.13.1&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000114420414016217/v370654_ex10-32x1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">N.S.C. Agua S.A. de C.V. agreement for the purchase of 12 hectares of land dated May 16, 2013 (incorporated herein by reference to Exhibit 10.32.1 filed as a part of our Form 10-K for the fiscal year ended December 31, 2013, Commission File No. 0-25248)</span></a>&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.13.2&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000114420414016217/v370654_ex10-32x2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Appendix to N.S.C. Agua S.A. de C.V. agreement for the purchase of 12 hectares of land dated May 16, 2013 (incorporated herein by reference to Exhibit 10.32.2 filed as a part of our Form 10-K for the fiscal year ended December 31, 2013, Commission File No. 0-25248)</span></a>&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.13.3</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000114420414016217/v370654_ex10-32x3.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Exhibit Index to N.S.C. Agua S.A. de C.V. agreement for the purchase of 12 hectares of land dated May 16, 2013 (incorporated herein by reference to Exhibit 10.32.3 filed as a part of our Form 10-K for the fiscal year ended December 31, 2013, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.13.4</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000114420414016217/v370654_ex10-32x4.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Exhibits to N.S.C. Agua S.A. de C.V. agreement for the purchase of 12 hectares of land dated May 16, 2013 (incorporated herein by reference to Exhibit 10.32.4 filed as a part of our Form 10-K for the fiscal year ended December 31, 2013, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.14</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000114420417054137/tv476946_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Public-Private Partnership Contract dated August 22, 2016 among Aguas de Rosarito S.A.P.I. de C.V., the State Water Commission of Baja California, the Government of Baja California represented by the Secretary of Planning and Finance, and the Public Utilities Commission of Tijuana. (incorporated herein by reference to Exhibit 10.1 to be filed as a part of our Amendment No. 1 to Form 8-K filed August 26, 2016, File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.15</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000110465920081259/tm2024078d1_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Letter dated June 29, 2020 from the Director General of the Comisi&#243;n Estatal del Agua de Baja California to Aguas de Rosarito, S.A.P.I. de C.V. (incorporated herein by reference to Exhibit 10.1 filed as a part of our Form 8-K filed July 6, 2020, File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.16</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000155837022014505/cwco-20220916xex10d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;background:#ffffff;">Credit Agreement dated September 16, 2022 between Cayman Water Company Limited and Scotiabank &amp; Trust (Cayman) Ltd. (incorporated by reference to Exhibit 10.1 filed as part of our Form 8-K filed September 20, 2022, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.17</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000155837022014505/cwco-20220916xex10d2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;background:#ffffff;">Letter dated September 16, 2022 from Scotiabank &amp; Trust (Cayman) Ltd. to Cayman Water Company Limited. (incorporated by reference to Exhibit 10.2 filed as part of our Form 8-K filed September 20, 2022, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">10.18</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/928340/000155837023000131/cwco-20230104xex10d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;background:#ffffff;">Stock Purchase Agreement dated January 4, 2023 among Consolidated Water U.S. Holdings, Inc. and the Sellers. (incorporated by reference to Exhibit 10.2 filed as part of our Form 8-K filed January 9, 2023, Commission File No. 0-25248)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">21.1**</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="cwco-20221231xex21d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Subsidiaries of the Registrant</span></a>&#8239;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">23.1**</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="cwco-20221231xex23d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Consent of Marcum LLP - Consolidated Water Co. Ltd.</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">31.1**</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="cwco-20221231xex31d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certification by the Chief Executive Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">31.2**</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="cwco-20221231xex31d2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certification by the Chief Financial Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">80</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.0978775%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><th style="font-weight:normal;text-align:left;vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></th></tr><tr><th style="font-weight:normal;text-align:left;vertical-align:top;width:9.76%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Number</b></p></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></th><th style="font-weight:normal;text-align:left;vertical-align:top;width:88.17%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exhibit Description</b></p></th></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">32.1**</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="cwco-20221231xex32d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certification by the Chief Executive Officer pursuant to 18 U.S.C. Section 1350, Section 906 of the Sarbanes-Oxley Act of 2002</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">32.2**</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="cwco-20221231xex32d2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certification by the Chief Financial Officer pursuant to 18 U.S.C. Section 1350, Section 906 of the Sarbanes-Oxley Act of 2002</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">101.INS**</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">XBRL Instance Document <span style="background:#ffffff;">- The instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.</span></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">101.SCH**</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">XBRL <span style="background:#ffffff;">Taxonomy Extension Schema</span></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">101.CAL**</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">XBRL <span style="background:#ffffff;">Taxonomy Extension Calculation Linkbase</span></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">101.DEF**</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">XBRL <span style="background:#ffffff;">Taxonomy Extension Definition Document</span></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">101.LAB**</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">XBRL <span style="background:#ffffff;">Taxonomy Extension Label Linkbase</span></p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">101.PRE**</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">104**</p></td><td style="vertical-align:top;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:88.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">XBRL <span style="background:#ffffff;">Taxonomy Extension Presentation Linkbase</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;background:#ffffff;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="background:#ffffff;">Cover Page Interactive Data File - The cover page interactive data file does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.5pt;text-indent:-7.5pt;margin:0pt;">*&#160;&#160;&#160;Indicates a management contract or compensatory plan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:14.25pt;text-indent:-14.25pt;margin:0pt;">**&#160;Filed herewith.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8224;&#160;&#160;&#160;Portions of these Exhibits have been omitted pursuant to a request for confidential treatment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">81</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_08e975d7_3a57_4de9_8c29_4de483fd8c77"></a><a id="SIGNATURES_660710"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">SIGNATURES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Pursuant to the requirements of Section&#160;13 or 15(d)&#160;of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned, thereunto duly authorized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:49.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:3.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:46.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:49.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td colspan="2" style="vertical-align:top;width:50.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">CONSOLIDATED WATER CO. LTD.</b></p></td></tr><tr><td style="vertical-align:top;width:49.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:3.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:46.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:49.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:3.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">By:&#160;</p></td><td style="vertical-align:top;width:46.74%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">/s/ Wilmer F. Pergande</p></td></tr><tr><td style="vertical-align:top;width:49.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:3.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:46.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Wilmer F. Pergande</p></td></tr><tr><td style="vertical-align:top;width:49.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:3.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:46.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Chairman of the Board of Directors</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Dated: March&#160;30, 2023</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Pursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the registrant and in the capacities and on the dates indicated.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;width:34.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;width:44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;width:15.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td></tr><tr><td colspan="2" style="vertical-align:bottom;width:37.95%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Signature</b></p></td><td style="vertical-align:bottom;width:1.04%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;width:44%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Title</b></p></td><td style="vertical-align:bottom;width:1.04%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;width:15.95%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:34.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">By:</p></td><td style="vertical-align:bottom;width:34.97%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/&#160;Wilmer&#160;F.&#160;Pergande</p></td><td style="vertical-align:bottom;width:1.04%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Chairman&#160;of&#160;the&#160;Board&#160;of&#160;Directors</p></td><td style="vertical-align:bottom;width:1.04%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March&#160;30, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:34.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Wilmer&#160;F.&#160;Pergande</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:34.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">By:</p></td><td style="vertical-align:bottom;width:34.97%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/&#160;Frederick&#160;W.&#160;McTaggart</p></td><td style="vertical-align:bottom;width:1.04%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Director,&#160;Chief&#160;Executive&#160;Officer&#160;and&#160;President</p></td><td style="vertical-align:bottom;width:1.04%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March&#160;30, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:34.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Frederick&#160;W.&#160;McTaggart</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Principal&#160;Executive&#160;Officer)</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:34.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">By:</p></td><td style="vertical-align:bottom;width:34.97%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/&#160;David&#160;W.&#160;Sasnett</p></td><td style="vertical-align:bottom;width:1.04%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Executive&#160;Vice&#160;President&#160;&amp;&#160;Chief&#160;Financial&#160;Officer</p></td><td style="vertical-align:bottom;width:1.04%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March&#160;30, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:34.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">David&#160;W.&#160;Sasnett</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Principal&#160;Financial&#160;and&#160;Accounting&#160;Officer)</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:34.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">By:</p></td><td style="vertical-align:bottom;width:34.97%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/&#160;Linda Beidler-D&#8217;Aguilar</p></td><td style="vertical-align:bottom;width:1.04%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Director</p></td><td style="vertical-align:bottom;width:1.04%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March&#160;30, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:34.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Linda Beidler-D&#8217;Aguilar</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:34.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">By:</p></td><td style="vertical-align:bottom;width:34.97%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/&#160;Brian&#160;E.&#160;Butler</p></td><td style="vertical-align:bottom;width:1.04%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Director</p></td><td style="vertical-align:bottom;width:1.04%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March&#160;30, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:34.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Brian&#160;E.&#160;Butler</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:34.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">By:</p></td><td style="vertical-align:bottom;width:34.97%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/&#160;Carson&#160;K.&#160;Ebanks</p></td><td style="vertical-align:bottom;width:1.04%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Director</p></td><td style="vertical-align:bottom;width:1.04%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March&#160;30, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:34.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Carson&#160;K.&#160;Ebanks</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:34.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">By:</p></td><td style="vertical-align:bottom;width:34.97%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/&#160;Clarence&#160;B.&#160;Flowers,&#160;Jr.</p></td><td style="vertical-align:bottom;width:1.04%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Director</p></td><td style="vertical-align:bottom;width:1.04%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March&#160;30, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:34.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Clarence&#160;B.&#160;Flowers,&#160;Jr.</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:34.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">By:</p></td><td style="vertical-align:bottom;width:34.97%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/&#160;Leonard&#160;J.&#160;Sokolow</p></td><td style="vertical-align:bottom;width:1.04%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Director</p></td><td style="vertical-align:bottom;width:1.04%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March&#160;30, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:34.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leonard&#160;J.&#160;Sokolow</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:34.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr style="height:4pt;"><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">By:</p></td><td style="vertical-align:bottom;width:34.97%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/&#160;Raymond&#160;Whittaker</p></td><td style="vertical-align:bottom;width:1.04%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Director</p></td><td style="vertical-align:bottom;width:1.04%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March&#160;30, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:34.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Raymond&#160;Whittaker</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:15.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="color:#00b050;font-size:12pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">82</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;margin-left:10.35%;margin-right:10.35%;margin-top:30pt;page-break-after:avoid;width:79.3%;border:0;"></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-4.1
<SEQUENCE>2
<FILENAME>cwco-20221231xex4d1.htm
<DESCRIPTION>EX-4.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 3/30/2023 05:53:16 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-weight:bold;">Exhibit 4.1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CONSOLIDATED WATER CO. LTD.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">DESCRIPTION OF SECURITIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><i style="font-style:italic;">The following description of the terms of our securities is not complete and is qualified in its entirety by reference to our Memorandum of Association, as amended (the &#8220;Memorandum of Association&#8221;), and our Articles of Association, as amended (the &#8220;Articles of Association&#8221;), both of which are exhibits to our Annual Reports on Form 10-K.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Under our Memorandum of Association and Articles of Association we are authorized to issue 25,000,000&#160;shares of capital stock, consisting of 24,655,000 ordinary shares, par value CI$0.50 (approximately US$0.60) per share, 145,000 Class&#160;B ordinary shares, par value CI$0.50 (approximately US$0.60) per share, and 200,000 redeemable preference shares, par value CI$0.50 (approximately US$0.60) per share.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The ordinary shares (common stock) are listed on the Nasdaq Global Select Market under the symbol &#8220;CWCO.&#8221; All outstanding ordinary shares are validly issued, fully paid, and nonassessable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Ordinary Shares</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="font-style:italic;font-weight:bold;">Voting Rights</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Holders of ordinary shares may cast one vote for each share held of record at all shareholder meetings. All voting is non-cumulative. Holders of more than 50% of the outstanding shares present and voting at an annual meeting at which a quorum is present are able to elect all of our directors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="font-style:italic;font-weight:bold;">Dividends and Liquidation Rights</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Holders of ordinary shares are entitled to receive ratably dividends, if any, distributed out of our accumulated profits. Subject to the preferential rights of holders of the redeemable preference shares, upon liquidation, all holders of ordinary shares are entitled to participate pro rata in our assets which are available for distribution.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="font-style:italic;font-weight:bold;">Other Rights</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Holders of ordinary shares do not have preemptive rights or rights to convert their ordinary shares into any other securities, and our common stock is not subject to any redemption or sinking fund provisions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Redeemable Preference Shares</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-style:italic;font-weight:bold;">Voting</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Holders of redeemable preference shares may cast one vote for each share held of record at all shareholder meetings. All voting is on a non-cumulative basis.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="font-style:italic;font-weight:bold;">Dividends and Liquidation Rights</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Upon the event of our liquidation, the redeemable preference shares rank in preference to the ordinary shares with respect to the repayment of the par value of redeemable preference shares plus any premium paid or credited on the purchase of the shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="font-style:italic;font-weight:bold;">Other Rights</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Under our employee share incentive plan, we may redeem any redeemable preference shares issued to an employee under certain circumstances. The ordinary shares and the redeemable preference shares rank equally in all other respects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Class&#160;B Ordinary Shares</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-style:italic;font-weight:bold;">Special Rights</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Holders of Class&#160;B ordinary shares are entitled to the same dividends paid on Class A ordinary shares and redeemable preference shares, and we cannot pay a dividend on the Class A ordinary shares without paying the same dividend on the Class&#160;B ordinary shares, and vice versa.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We cannot redeem the Class&#160;B ordinary shares, and the holders of the Class&#160;B ordinary shares are not entitled to any repayments of capital upon our dissolution.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">If we enter into a transaction in which Class A ordinary shares are exchanged for securities or other consideration of another company, then the Class&#160;B ordinary shares will also be exchanged pursuant to a formula. The Class&#160;B ordinary shares and the Class A ordinary shares rank equally in all other respects.</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-21.1
<SEQUENCE>3
<FILENAME>cwco-20221231xex21d1.htm
<DESCRIPTION>EX-21.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 3/30/2023 05:53:16 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">EXHIBIT&#160;21.1</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CONSOLIDATED WATER CO. LTD.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Subsidiaries of the Registrant</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The following list includes all of the Registrant&#8217;s wholly-owned subsidiaries, majority-owned subsidiaries and affiliates as of December&#160;31, 2022. All subsidiaries of the Registrant appearing in the following table are included in the consolidated financial statements of the Registrant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;" align="center"><tr style="height:1pt;"><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"></div></div></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"></div></div></td><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"></div></div></td></tr><tr><td style="vertical-align:middle;width:49%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Subsidiaries</b></p></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160; </p></td><td style="vertical-align:middle;width:49%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Jurisdiction of Organization</b></p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Aguas de Rosarito S.A.P.I. de C.V. (100%)</p></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Mexico</p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Aerex Industries,&#160;Inc. (100%)</p></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States of America</p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Aquilex,&#160;Inc. (100%)</p></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States of America</p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cayman Water Company Limited (100%)</p></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cayman Islands</p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Consolidated Water (Bahamas) Limited (90.9%)</p></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">The Bahamas</p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Consolidated Water Cooperatief, U.A. (100%)</p></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Netherlands</p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Consolidated Water U.S. Holdings,&#160;Inc. (100%)</p></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States of America</p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">DesalCo Limited (100%)</p></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cayman Islands</p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">N.S.C. Agua, S.A. de C.V. (99.9%)</p></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Mexico</p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ocean Conversion (BVI)&#160;Ltd. (Affiliate)</p></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">The British Virgin Islands</p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ocean Conversion (Cayman) Limited (100%)</p></td><td style="vertical-align:middle;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cayman Islands</p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:middle;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">PERC Water Corporation (61%)</p></td><td style="vertical-align:bottom;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States of America</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>4
<FILENAME>cwco-20221231xex23d1.htm
<DESCRIPTION>EX-23.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 3/30/2023 05:53:16 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">EXHIBIT&#160;23.1</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Independent Registered Public Accounting Firm&#8217;s Consent</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We consent to the incorporation by reference in the Registration Statement of Consolidated Water Co. Ltd. on Form S-8<b style="font-weight:bold;"> </b>(File No. 333-187261) of our report dated March 30, 2023,<sup style="font-size:7.5pt;font-weight:bold;vertical-align:top;"> </sup>with respect to our audits of the consolidated financial statements of Consolidated Water Co. Ltd. as of December 31, 2022 and 2021, and for each of the years in the two year period ended, which report is included in this Annual Report on Form 10-K of Consolidated Water Co. Ltd. for the year ended December 31, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;" align="center"><tr style="height:1pt;"><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:50%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">/s/ Marcum LLP</b></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">West Palm Beach, Florida</p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March 30, 2023</p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">1</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>5
<FILENAME>cwco-20221231xex31d1.htm
<DESCRIPTION>EX-31.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 3/30/2023 05:53:16 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">EXHIBIT&#160;31.1</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CERTIFICATION PURSUANT TO RULE 13a-14(a)/15d-14(a)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">OF THE SECURITIES EXCHANGE ACT OF 1934</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">In connection with the Form&#160;10-K of Consolidated Water Co. Ltd. for the fiscal year ended December&#160;31, 2022, as filed with the Securities and Exchange Commission on the date hereof,&#160;I, Frederick W. McTaggart, certify, pursuant to Rule&#160;13a-14(a)&#160;of the Securities Exchange Act of 1934, that:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">1. I have reviewed the Form&#160;10-K of Consolidated Water Co. Ltd. for the fiscal year ended December&#160;31, 2022;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">4. The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules&#160;13a-15(e)&#160;and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules&#160;13a-15(f)&#160;and 15d-15(f)) for the registrant and have:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:72pt;margin:0pt;">(a)&#160;Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:72pt;margin:0pt;">(b)&#160;Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:72pt;margin:0pt;">(c)&#160;Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:72pt;margin:0pt;">(d)&#160;Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">5. The registrant&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s Board of Directors (or persons performing the equivalent functions):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:72pt;margin:0pt;">(a)&#160;All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:72pt;margin:0pt;">(b)&#160;Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;" align="center"><tr style="height:1pt;"><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Date: March 30, 2023</p></td><td style="vertical-align:top;width:5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">By:</p></td><td style="vertical-align:top;width:45%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/ Frederick W. McTaggart</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Name:</p></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Frederick W. McTaggart</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Title:</p></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Chief Executive Officer</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Principal Executive Officer)</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>6
<FILENAME>cwco-20221231xex31d2.htm
<DESCRIPTION>EX-31.2
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 3/30/2023 05:53:38 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">EXHIBIT&#160;31.2</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CERTIFICATION PURSUANT TO RULE 13a-14(a)/15d-14(a)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">OF THE SECURITIES EXCHANGE ACT OF 1934</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">In connection with the Form&#160;10-K of Consolidated Water Co. Ltd. for the fiscal year ended December&#160;31, 2022, as filed with the Securities and Exchange Commission on the date hereof,&#160;I, David W. Sasnett, certify, pursuant to Rule&#160;13a-14(a)&#160;of the Securities Exchange Act of 1934, that:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">1. I have reviewed the Form&#160;10-K of Consolidated Water Co. Ltd. for the fiscal year ended December&#160;31, 2022;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">4. The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules&#160;13a-15(e)&#160;and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules&#160;13a-15(f)&#160;and 15d-15(f)) for the registrant and have:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:72pt;margin:0pt;">(a)&#160;Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:72pt;margin:0pt;">(b)&#160;Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:72pt;margin:0pt;">(c)&#160;Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:72pt;margin:0pt;">(d)&#160;Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">5. The registrant&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s Board of Directors (or persons performing the equivalent functions):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:72pt;margin:0pt;">(a)&#160;All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:72pt;margin:0pt;">(b)&#160;Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;" align="center"><tr style="height:1pt;"><td style="vertical-align:top;width:49.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:5.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:44.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:49.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Date: March 30, 2023</p></td><td style="vertical-align:top;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">By:</p></td><td style="vertical-align:top;width:44.79%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/ David W. Sasnett</p></td></tr><tr><td style="vertical-align:top;width:49.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Name:&#160;</p></td><td style="vertical-align:top;width:44.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">David W. Sasnett</p></td></tr><tr><td style="vertical-align:top;width:49.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Title:</p></td><td style="vertical-align:top;width:44.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Executive Vice President&#160;&amp; Chief Financial Officer</p></td></tr><tr><td style="vertical-align:top;width:49.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:44.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Principal Financial and Accounting Officer)</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>7
<FILENAME>cwco-20221231xex32d1.htm
<DESCRIPTION>EX-32.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 3/30/2023 05:53:39 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">EXHIBIT&#160;32.1</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CERTIFICATION PURSUANT TO</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">18 U.S.C. SECTION&#160;1350,</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">AS ADOPTED PURSUANT TO</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">SECTION&#160;906 OF THE SARBANES-OXLEY ACT OF 2002</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In connection with the Form&#160;10-K of Consolidated Water Co. Ltd. for the year ended December&#160;31, 2022 as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;),&#160;I, Frederick W. McTaggart, certify, pursuant to 18 U.S.C. Sec. 1350, as adopted pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002, that:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">(1)&#160;The Report fully complies with the requirements of Section&#160;13(a)&#160;or 15(d)&#160;of the Securities Exchange Act of 1934; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">(2)&#160;The information contained in the Report fairly presents, in all material respects, the financial condition and result of operations of the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;" align="center"><tr style="height:1pt;"><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Date: March 30, 2023</p></td><td style="vertical-align:top;width:5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">By:</p></td><td style="vertical-align:top;width:45%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/ Frederick W. McTaggart</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Name:</p></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Frederick W. McTaggart</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Title:</p></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Chief Executive Officer</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Principal Executive Officer)</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>8
<FILENAME>cwco-20221231xex32d2.htm
<DESCRIPTION>EX-32.2
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 3/30/2023 05:53:40 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">EXHIBIT&#160;32.2</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CERTIFICATION PURSUANT TO</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">18 U.S.C. SECTION&#160;1350,</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">AS ADOPTED PURSUANT TO</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">SECTION&#160;906 OF THE SARBANES-OXLEY ACT OF 2002</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In connection with the Form&#160;10-K of Consolidated Water Co. Ltd. for the year ended December&#160;31, 2022 as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;),&#160;I, David W. Sasnett, certify, pursuant to 18 U.S.C. Sec. 1350, as adopted pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002, that:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">(1)&#160;The Report fully complies with the requirements of Section&#160;13(a)&#160;or 15(d)&#160;of the Securities Exchange Act of 1934; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">(2)&#160;The information contained in the Report fairly presents, in all material respects, the financial condition and result of operations of the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;" align="center"><tr style="height:1pt;"><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Date: March 30, 2023</p></td><td style="vertical-align:top;width:5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">By:</p></td><td style="vertical-align:top;width:45%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/ David W. Sasnett</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Name:</p></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">David W. Sasnett</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Title:</p></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Executive Vice President&#160;&amp; Chief Financial Officer</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Principal Financial and Accounting Officer)</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>9
<FILENAME>cwco-20221231x10k003.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 cwco-20221231x10k003.jpg
M_]C_X  02D9)1@ ! @   0 !  #_VP!#  ," @," @,# P,$ P,$!0@%!00$
M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_
MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04
M%!04%!04%!04%!04%!04%!04%!04%!3_P  1" %V \L# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#]4Z*** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "H[@E;>4@X(4D'\*DJ*Z_X]IO]P_RH ^!_AMIOBWXEW\.E:.=8
MUG4XM!M-<U'4-4^(6JZ<K-=75Y$J1Q0JZ@*+0^GWAQ7H7_"@?BA_SX?^97UW
M_P",5#^Q5_R4'5_^Q$T#_P!.&LU]@T ?(G_"@?BA_P ^'_F5]=_^,4?\*!^*
M'_/A_P"97UW_ .,5]=T4 ?(G_"@?BA_SX?\ F5]=_P#C%'_"@?BA_P ^'_F5
M]=_^,5]=T4 ?(G_"@?BA_P ^'_F5]=_^,4?\*!^*'_/A_P"97UW_ .,5]=T4
M ?(G_"@?BA_SX?\ F5]=_P#C%'_"@?BA_P ^'_F5]=_^,5]=T4 ?(G_"@?BA
M_P ^'_F5]=_^,4?\*!^*'_/A_P"97UW_ .,5]=T4 ?(G_"@?BA_SX?\ F5]=
M_P#C%'_"@?BA_P ^'_F5]=_^,5]=T4 ?(G_"@?BA_P ^'_F5]=_^,4?\*!^*
M'_/A_P"97UW_ .,5]=T4 ?(G_"@?BA_SX?\ F5]=_P#C%'_"@?BA_P ^'_F5
M]=_^,5]=T4 ?(G_"@?BA_P ^'_F5]=_^,4?\*!^*'_/A_P"97UW_ .,5]=T4
M ?(G_"@?BA_SX?\ F5]=_P#C%'_"@?BA_P ^'_F5]=_^,5]=T4 ?(G_"@?BA
M_P ^'_F5]=_^,4?\*!^*'_/A_P"97UW_ .,5]=T4 ?(G_"@?BA_SX?\ F5]=
M_P#C%'_"@?BA_P ^'_F5]=_^,5]=T4 ?(G_"@?BA_P ^'_F5]=_^,4?\*!^*
M'_/A_P"97UW_ .,5]=T4 ?(G_"@?BA_SX?\ F5]=_P#C%'_"@?BA_P ^'_F5
M]=_^,5]=T4 ?(G_"@?BA_P ^'_F5]=_^,4?\*!^*'_/A_P"97UW_ .,5]=T4
M ?('[,>MZ[:_M%^+O"FJ/J-J^CV+V]U93>)KS6K9Y1]FE66-[D*RG9<;2 HZ
M5]?U\C?!7_D^GXP_1O\ TFTVOKF@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH *BNO\ CVF_W#_*I:BNO^/:;_</\J /D/\ 8J_Y*#J_
M_8B:!_Z<-9K[!KX^_8J_Y*#J_P#V(F@?^G#6:^P: "L?QCXGM?!7A/6-?O0S
M6FF6DMY*J=2J*6('OQ6Q69XG\/6?BWPYJ>B:@A>QU&VDM9U4X)1U*G'O@T ?
M)_@;QS^T_P#$GP7X<^*&@2>#9M$UR6&[@\#W%LT4T=A(P =[XOPX0[RH0XY
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
MCW]C/XXS^'_BYX/\(>)O L?@WXCW3:S??VLEV+RTOI$030PE$9?))C4!VW,
M/NYSD ^V/!&K3Z]X+T#4[HJ;J]T^WN92@PN]XU9L#L,DUMUP'@;2/'/AW5=-
MTF__ .$>?P78Z#:6T<EN\YU%K]!MESD"/R=H7:?O9SD5W] !1110!\C?!7_D
M^GXP_1O_ $FTVOKFOD;X*_\ )]/QA^C?^DVFU]<T %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !45U_Q[3?[A_E4M177_'M-_N'^5 'R
M'^Q5_P E!U?_ +$30/\ TX:S7V#7PW^S?XZM?A;XJ;5=;TGQ%)IFJ^"M'M[2
M\TGP_>ZC$\L-]JIE0O;Q.%91-&<'!^85]"?\-4>"_P#H&^-?_"(UC_Y%H ]@
MHKQ__AJCP7_T#?&O_A$:Q_\ (M'_  U1X+_Z!OC7_P (C6/_ )%H ]@HKQ__
M (:H\%_] WQK_P"$1K'_ ,BT?\-4>"_^@;XU_P#"(UC_ .1: /8**\?_ .&J
M/!?_ $#?&O\ X1&L?_(M'_#5'@O_ *!OC7_PB-8_^1: /8**\?\ ^&J/!?\
MT#?&O_A$:Q_\BT?\-4>"_P#H&^-?_"(UC_Y%H ]@HKQ__AJCP7_T#?&O_A$:
MQ_\ (M'_  U1X+_Z!OC7_P (C6/_ )%H ]@HKQ__ (:H\%_] WQK_P"$1K'_
M ,BT?\-4>"_^@;XU_P#"(UC_ .1: /8**\?_ .&J/!?_ $#?&O\ X1&L?_(M
M'_#5'@O_ *!OC7_PB-8_^1: /8**\?\ ^&J/!?\ T#?&O_A$:Q_\BT?\-4>"
M_P#H&^-?_"(UC_Y%H ]@HKQ__AJCP7_T#?&O_A$:Q_\ (M'_  U1X+_Z!OC7
M_P (C6/_ )%H ]@HKQ__ (:H\%_] WQK_P"$1K'_ ,BT?\-4>"_^@;XU_P#"
M(UC_ .1: /8**\?_ .&J/!?_ $#?&O\ X1&L?_(M'_#5'@O_ *!OC7_PB-8_
M^1: /8**\?\ ^&J/!?\ T#?&O_A$:Q_\BT?\-4>"_P#H&^-?_"(UC_Y%H ]@
MHKQ__AJCP7_T#?&O_A$:Q_\ (M'_  U1X+_Z!OC7_P (C6/_ )%H ]@HKQ__
M (:H\%_] WQK_P"$1K'_ ,BT?\-4>"_^@;XU_P#"(UC_ .1: /8**\?_ .&J
M/!?_ $#?&O\ X1&L?_(M'_#5'@O_ *!OC7_PB-8_^1: /)O@K_R?3\8?HW_I
M-IM?7-?'7[.^HGQ#^V'\2M?BT_5+#3M6@DN+(ZMIT]C+-&L5A&7$4R(^-\;C
M)'\)K[%H **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "D
M90ZE2,@C!%+10!X_#^RC\.K52EM9:Q9P[F806OB&_BC3)).U%F 49)X Q4G_
M  RSX!_N>(/_  IM1_\ C]>N44 >1_\ #+/@'^YX@_\ "FU'_P"/T?\ #+/@
M'^YX@_\ "FU'_P"/UZY10!Y'_P ,L^ ?[GB#_P *;4?_ (_1_P ,L^ ?[GB#
M_P *;4?_ (_7KE% 'D?_  RSX!_N>(/_  IM1_\ C]'_  RSX!_N>(/_  IM
M1_\ C]>N44 >1_\ #+/@'^YX@_\ "FU'_P"/T?\ #+/@'^YX@_\ "FU'_P"/
MUZY10!Y'_P ,L^ ?[GB#_P *;4?_ (_1_P ,L^ ?[GB#_P *;4?_ (_7KE%
M'D?_  RSX!_N>(/_  IM1_\ C]'_  RSX!_N>(/_  IM1_\ C]>N44 >1_\
M#+/@'^YX@_\ "FU'_P"/T?\ #+/@'^YX@_\ "FU'_P"/UZY10!\Q?#/]GSPE
MKGC7XLV5[-XBGMM&\306-C&?$NH 0PMHVF7!08GY_>W$K<_WSVQ7H/\ PRSX
M!_N>(/\ PIM1_P#C]6?@[_R43XY_]CC;?^H_H]>IT >1_P##+/@'^YX@_P#"
MFU'_ ./T?\,L^ ?[GB#_ ,*;4?\ X_7KE% 'D?\ PRSX!_N>(/\ PIM1_P#C
M]'_#+/@'^YX@_P#"FU'_ ./UZY10!Y'_ ,,L^ ?[GB#_ ,*;4?\ X_1_PRSX
M!_N>(/\ PIM1_P#C]>N44 >1_P##+/@'^YX@_P#"FU'_ ./T?\,L^ ?[GB#_
M ,*;4?\ X_7KE% 'D?\ PRSX!_N>(/\ PIM1_P#C]'_#+/@'^YX@_P#"FU'_
M ./UZY10!Y'_ ,,L^ ?[GB#_ ,*;4?\ X_1_PRSX!_N>(/\ PIM1_P#C]>N4
M4 >1_P##+/@'^YX@_P#"FU'_ ./T?\,L^ ?[GB#_ ,*;4?\ X_7KE% '!>!/
M@=X0^'&N7&LZ+9W@U.>W^RO<WVI7-X_E;MVP&:1MHSSQBN]HHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** /+/@[_R43XY_]CC;?^H_H]>IUY9\'?\
MDHGQS_['&V_]1_1Z]3H **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH \L^#O_)1/CG_ -CC;?\
MJ/Z/7J=>6?!W_DHGQS_['&V_]1_1Z]3H **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#PWP/X;\8_$?3]8UN;XM^
M+=%'_"0:U8PZ?IEEHWV>"&VU.YMHE4S:?)(<1PIDL[$G)S71?\*A\5_]%O\
M'G_@%H'_ ,JZL? '_D1=4_[&OQ+_ .GR^KTB@#R__A4/BO\ Z+?X\_\  +0/
M_E71_P *A\5_]%O\>?\ @%H'_P JZ]0HH \O_P"%0^*_^BW^//\ P"T#_P"5
M='_"H?%?_1;_ !Y_X!:!_P#*NO4** /+_P#A4/BO_HM_CS_P"T#_ .5='_"H
M?%?_ $6_QY_X!:!_\JZ]0HH \O\ ^%0^*_\ HM_CS_P"T#_Y5T?\*A\5_P#1
M;_'G_@%H'_RKKU"B@#R__A4/BO\ Z+?X\_\  +0/_E71_P *A\5_]%O\>?\
M@%H'_P JZ]0HH \O_P"%0^*_^BW^//\ P"T#_P"5='_"H?%?_1;_ !Y_X!:!
M_P#*NO4** /+_P#A4/BO_HM_CS_P"T#_ .5='_"H?%?_ $6_QY_X!:!_\JZ]
M0HH \O\ ^%0^*_\ HM_CS_P"T#_Y5T?\*A\5_P#1;_'G_@%H'_RKKU"B@#R_
M_A4/BO\ Z+?X\_\  +0/_E71_P *A\5_]%O\>?\ @%H'_P JZ]0HH \O_P"%
M0^*_^BW^//\ P"T#_P"5='_"H?%?_1;_ !Y_X!:!_P#*NO4** /+_P#A4/BO
M_HM_CS_P"T#_ .5='_"H?%?_ $6_QY_X!:!_\JZ]0HH \O\ ^%0^*_\ HM_C
MS_P"T#_Y5UQ7C[PKXY\+>*_AMIEI\:O&CV_B3Q!+I5XTUAH)9(ETK4+L&,C3
M!AO,M(AD@C:6&,D$?0M>5_&/_DHGP+_['*Y_]1[6: )/^%0^*_\ HM_CS_P"
MT#_Y5T?\*A\5_P#1;_'G_@%H'_RKKU"B@#R__A4/BO\ Z+?X\_\  +0/_E71
M_P *A\5_]%O\>?\ @%H'_P JZ]0HH \O_P"%0^*_^BW^//\ P"T#_P"5='_"
MH?%?_1;_ !Y_X!:!_P#*NO4** /+_P#A4/BO_HM_CS_P"T#_ .5='_"H?%?_
M $6_QY_X!:!_\JZ]0HH \O\ ^%0^*_\ HM_CS_P"T#_Y5T?\*A\5_P#1;_'G
M_@%H'_RKKU"B@#R__A4/BO\ Z+?X\_\  +0/_E71_P *A\5_]%O\>?\ @%H'
M_P JZ]0HH \O_P"%0^*_^BW^//\ P"T#_P"5='_"H?%?_1;_ !Y_X!:!_P#*
MNO4** /+_P#A4/BO_HM_CS_P"T#_ .5='_"H?%?_ $6_QY_X!:!_\JZ]0HH
M\O\ ^%0^*_\ HM_CS_P"T#_Y5T?\*A\5_P#1;_'G_@%H'_RKKU"B@#R__A4/
MBO\ Z+?X\_\  +0/_E71_P *A\5_]%O\>?\ @%H'_P JZ]0HH \O_P"%0^*_
M^BW^//\ P"T#_P"5='_"H?%?_1;_ !Y_X!:!_P#*NO4** /+_P#A4/BO_HM_
MCS_P"T#_ .5='_"H?%?_ $6_QY_X!:!_\JZ]0HH ^9OA3\+?$USX\^,T<?QA
M\:6CV_BRWBDFAL]$+7+'0M*;S)-VFD!@&5,(%7;&OR[BS-Z3_P *A\5_]%O\
M>?\ @%H'_P JZ9\'?^2B?'/_ +'&V_\ 4?T>O4Z /+_^%0^*_P#HM_CS_P
MM _^5='_  J'Q7_T6_QY_P" 6@?_ "KKU"B@#R__ (5#XK_Z+?X\_P# +0/_
M )5T?\*A\5_]%O\ 'G_@%H'_ ,JZ]0HH \O_ .%0^*_^BW^//_ +0/\ Y5T?
M\*A\5_\ 1;_'G_@%H'_RKKU"B@#R_P#X5#XK_P"BW^//_ +0/_E71_PJ'Q7_
M -%O\>?^ 6@?_*NO4** /+_^%0^*_P#HM_CS_P  M _^5='_  J'Q7_T6_QY
M_P" 6@?_ "KKU"B@#R__ (5#XK_Z+?X\_P# +0/_ )5T?\*A\5_]%O\ 'G_@
M%H'_ ,JZ]0HH \O_ .%0^*_^BW^//_ +0/\ Y5T?\*A\5_\ 1;_'G_@%H'_R
MKKU"B@#R_P#X5#XK_P"BW^//_ +0/_E71_PJ'Q7_ -%O\>?^ 6@?_*NO4**
M/+_^%0^*_P#HM_CS_P  M _^5='_  J'Q7_T6_QY_P" 6@?_ "KKU"B@#R__
M (5#XK_Z+?X\_P# +0/_ )5T?\*A\5_]%O\ 'G_@%H'_ ,JZ]0HH \O_ .%0
M^*_^BW^//_ +0/\ Y5T?\*A\5_\ 1;_'G_@%H'_RKKU"B@#R_P#X5#XK_P"B
MW^//_ +0/_E77(_%#P=XW\%^&[+4+'XU^-9)IM;TC36$]AH+*([K4;:VD(QI
M@^8),Q4] P!((X/OU>;_ !__ .1&TK_L:_#7_I[L: *__"H?%?\ T6_QY_X!
M:!_\JZ/^%0^*_P#HM_CS_P  M _^5=>H44 >7_\ "H?%?_1;_'G_ (!:!_\
M*NC_ (5#XK_Z+?X\_P# +0/_ )5UZA10!Y?_ ,*A\5_]%O\ 'G_@%H'_ ,JZ
M/^%0^*_^BW^//_ +0/\ Y5UZA10!Y?\ \*A\5_\ 1;_'G_@%H'_RKH_X5#XK
M_P"BW^//_ +0/_E77J%% 'E__"H?%?\ T6_QY_X!:!_\JZ/^%0^*_P#HM_CS
M_P  M _^5=>H44 >7_\ "H?%?_1;_'G_ (!:!_\ *NC_ (5#XK_Z+?X\_P#
M+0/_ )5UZA10!Y?_ ,*A\5_]%O\ 'G_@%H'_ ,JZ/^%0^*_^BW^//_ +0/\
MY5UZA10!Y?\ \*A\5_\ 1;_'G_@%H'_RKH_X5#XK_P"BW^//_ +0/_E77J%%
M 'E__"H?%?\ T6_QY_X!:!_\JZ/^%0^*_P#HM_CS_P  M _^5=>H44 >7_\
M"H?%?_1;_'G_ (!:!_\ *NC_ (5#XK_Z+?X\_P# +0/_ )5UZA10!Y?_ ,*A
M\5_]%O\ 'G_@%H'_ ,JZ/^%0^*_^BW^//_ +0/\ Y5UZA10!Y?\ \*A\5_\
M1;_'G_@%H'_RKH_X5#XK_P"BW^//_ +0/_E77J%% 'E__"H?%?\ T6_QY_X!
M:!_\JZG^"U[K;-XVTG6_$5]XHDT77VL;;4-2AMHKAH39VLP5Q;0Q1G#3/@A
M<8SG%>DUYO\ "/\ Y&7XJ_\ 8UG_ --MC0!Z11110 4444 %%%% !1110 44
M44 %<)XW^.G@#X;:S'I/B?Q7INBZG) MRMK=2XD,19E#X]"589]C7=U\9?$#
MP+H?Q'_X*1V&B^([!-4TK_A6DEU]DE=@AE34%57(!&2!(X'^\: /<O\ AK/X
M0?\ 10-&_P"_Q_PH_P"&L_A!_P!% T;_ +_'_"F_\,E?"3_H2K'_ +ZD_P#B
MJ/\ ADKX2?\ 0E6/_?4G_P 50 [_ (:S^$'_ $4#1O\ O\?\*/\ AK/X0?\
M10-&_P"_Q_PIO_#)7PD_Z$JQ_P"^I/\ XJC_ (9*^$G_ $)5C_WU)_\ %4 .
M_P"&L_A!_P!% T;_ +_'_"C_ (:S^$'_ $4#1O\ O\?\*;_PR5\)/^A*L?\
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
M\?\ "F_\,E?"3_H2K'_OJ3_XJC_ADKX2?]"58_\ ?4G_ ,50 [_AK/X0?]%
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
MX9*^$G_0E6/_ 'U)_P#%4?\ #)7PD_Z$JQ_[ZD_^*H =_P -9_"#_HH&C?\
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
MCPOHL]K?7@U&[@ET^%DN+H,&$\BE</(&52'.6R <\4V;X;>$IXPC^&-&91J
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
MU-_T3X?^"2Q_^7M?7U% 'R#_ ,+0_:F_Z)\/_!)8_P#R]H_X6A^U-_T3X?\
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
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !7COQ4\:>.4^+O@_P-X+O]#TEM6T?4
M]6N;W6M.EO<?9I;.-41(YXL9^U,223]T<5[%7B_BO_D[[X;_ /8G>(?_ $KT
MF@"S_P (Y\=?^A[\"_\ A)W?_P L*/\ A'/CK_T/?@7_ ,).[_\ EA7K]% '
MD'_".?'7_H>_ O\ X2=W_P#+"C_A'/CK_P!#WX%_\).[_P#EA7K]>0:K>>*?
MB5\2O%7AO1_%U[X&TSPU#: W&DVEK/=7MS/&9,N;J&5%A1=HVH@9F+?. ,$
M/^$<^.O_ $/?@7_PD[O_ .6%'_".?'7_ *'OP+_X2=W_ /+"N9^+?[0OB+X#
M^$[%]<M?#6O:S;:3+?WPBU26VDO#'G)MK9()GP50L6?;&I(7>>2.CT']H"36
MM;ET4Z$MOJJ:@8Q;F\W9L#9K=)=\)W#K&4[-N^8@9( __A'/CK_T/?@7_P )
M.[_^6%'_  CGQU_Z'OP+_P"$G=__ "PKSW0/VK_'&OZ%9:BGP[TBW^U^$H_&
M4:2>(GP+,\-$2+7_ %V<%0 5(SEE/!V-;_:R.D^,]$TZ/2=*N],U.^L+/;!J
MSRZC;K= !))H8X&BB&XD!9)E9@I(':@#JO\ A'/CK_T/?@7_ ,).[_\ EA1_
MPCGQU_Z'OP+_ .$G=_\ RPK+^$O[0NM^/M2\(#6?"MGH6G>++&ZN],DM]4:Y
MG!@(W+*AA15#*2RE6;C&0"<#)^(OQ!\=6FM^,_ ^AZT+'Q1J>I:>GAG4)K2&
M06=M-$7G.PKMD\L6UTPW@\N@)/% '5?\(Y\=?^A[\"_^$G=__+"C_A'/CK_T
M/?@7_P ).[_^6%<19_M*:MJ"ZAXEA?2[;1+#1]-BN++5KU+*UAU.=W:XWW!1
MWS$BJ@C0.68GY2<$84'[6WB/5-4\,ZS_ &39:;X:MI->AUVU2YD>29K%$(:'
MS+9'Z,"H;RR2Q#   D ]4_X1SXZ_]#WX%_\ "3N__EA1_P (Y\=?^A[\"_\
MA)W?_P L*X.+]K_5_P"R;F8^!_/O72S>R6">ZCMG:XNH[<12S36D820&56P@
M=2 V&XKZ.T:34)=*M7U:WMK74F0&XALYVFA1^X1V1"P]RJ_2@#RW_A'/CK_T
M/?@7_P ).[_^6%'_  CGQU_Z'OP+_P"$G=__ "PKU^B@#YX^*>K?'/X9?#3Q
M5XN?Q?X&U%-"TRYU(VB^%[J,S"*-GV;OMYVYVXS@XSTKW^PN&N[&VG8 -)&K
MD#H"0#7F7[5O_)LGQ7_[%?4O_2:2O2=&_P"0/8_]<(__ $$4 7**** "BBB@
M HHHH *\'TCQ%\6_B#XI\:IX>\1>$M#TC1-9DTJ"#4- N+N=PD4;EVD6[C')
MD/ 4=*]XKR+X!?\ (9^*W_8X7'_I/;T -_X1SXZ_]#WX%_\ "3N__EA1_P (
MY\=?^A[\"_\ A)W?_P L*]?KPZVNO'7Q8U/QK?:'XVD\%V_AW5YM(TS3[:QM
M;B"\>!$9Y+YIHGD*.[%0D#0E4&=[,PV@&E_PCGQU_P"A[\"_^$G=_P#RPH_X
M1SXZ_P#0]^!?_"3N_P#Y85F^(?V@M;\,WVM27'AFRNM"\+W>GZ?XDU&'4666
M&:XCA=WMH3$?-CC%Q$Q+.C$$X!(Q698_M/:XVMVJ7O@J)-)U'4]:T?3'LM2:
M>\N;G3X[B7F'R555D2VEQAR0V 1@YH Z7_A'/CK_ -#WX%_\).[_ /EA1_PC
MGQU_Z'OP+_X2=W_\L*Y?PI^U+?\ BGPX)+;0M&N/$5UJUMI%GIEKK+D1S31N
MY6[$ENDULR"*7(,39V_(6YQSWB[]IGQ!%<W*?9Y-#O=%AU6SUG3+*:*4?;+=
MK-HWAN)8&RABNE8$QCA\%<C@ ])_X1SXZ_\ 0]^!?_"3N_\ Y84?\(Y\=?\
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
M -#WX%_\).[_ /EA7K]% 'D'_".?'7_H>_ O_A)W?_RPH_X1SXZ_]#WX%_\
M"3N__EA7K]% 'D'_  CGQU_Z'OP+_P"$G=__ "PH_P"$<^.O_0]^!?\ PD[O
M_P"6%>OT4 >0?\(Y\=?^A[\"_P#A)W?_ ,L*/^$<^.O_ $/?@7_PD[O_ .6%
M>OT4 >0?\(Y\=?\ H>_ O_A)W?\ \L*/^$<^.O\ T/?@7_PD[O\ ^6%>OT4
M>0?\(Y\=?^A[\"_^$G=__+"C_A'/CK_T/?@7_P ).[_^6%>OT4 >._"OQGXY
M?XN>,/ _C2_T/5FTK1],U:VO=%TZ6R!^TRWD;(Z23RYQ]E!!!'WCQ7L5>,>%
M/^3O?B1_V)_A[_TKU:O9Z "BBB@ HHHH **** /-/CKXS\1^$-&\/0^%I=.M
MM6UG6K;2EN=5MGN885DW98QI)&6/R_WA67_PCGQU_P"A[\"_^$G=_P#RPIW[
M0W^L^&__ &.%A_*2O7: /(/^$<^.O_0]^!?_  D[O_Y84?\ ".?'7_H>_ O_
M (2=W_\ +"O7Z\4B\>_$;QCI^N^)O"Q\-6GA[2[BYM[;2=3LKB>\U+[.[+(W
MVE)T2WWE2%!BEQ@$GG:H!<_X1SXZ_P#0]^!?_"3N_P#Y84?\(Y\=?^A[\"_^
M$G=__+"H_"G[2%KXYN+;^P/"^K:K8QQ6+ZI?0M"L>FO=0).B.&<,^V.2-V*
M[0ZFL7P1^V3X/^(&IK9Z+;RZB]Y8W%_I45C>6MQ<:@D0R5$"2F2%V!!590N<
M]B#0!O?\(Y\=?^A[\"_^$G=__+"C_A'/CK_T/?@7_P ).[_^6%<[!^V#I$O]
MLVO_  C=]/K6F:IIVDR:;87UI=EIKR0Q1#S(I2BE75@RL05QR*[_ ,/_ !DL
M-7^'_B3Q1=Z;=Z4?#LEY#J6GSLCRPR6P)D4%&*MD $$'!R* ,+_A'/CK_P!#
MWX%_\).[_P#EA1_PCGQU_P"A[\"_^$G=_P#RPJ7PQXB^)]S;Z)XDU0>&)O#>
MI(MQ=:3:VTT-WI=NZ%U<W3SLEP5& P$,6<DCI@\[=_M>Z-IG@ZX\47_A?6K+
M1IM N/$NCS2^3NU:SB57)C4/F-RCQN$DVG#C/>@#=_X1SXZ_]#WX%_\ "3N_
M_EA1_P (Y\=?^A[\"_\ A)W?_P L*;9?M'6B^);70]8\,:KH5Y+JMKI<IN7A
M=;?[3!)+;2R%'.%D:/RL=0[J".<UR_B']MSP5H#['A8R);2ZA*ESJ%I:L+)9
MY84G02RKYI<P2LL:9?"C(&1D ZK_ (1SXZ_]#WX%_P#"3N__ )84?\(Y\=?^
MA[\"_P#A)W?_ ,L*QM4_:WT6Q3Q)=PZ#?W&C:+?6>FG5Y+FW@M9Y[FW@N(L/
M)(-B[+A<N^U01C/(S<U/]I2ST**TU#5M,N].L9M)EU!;,11W$L[_ &F." 13
M1S%'$K2Q[, AMZG<.E %W_A'/CK_ -#WX%_\).[_ /EA1_PCGQU_Z'OP+_X2
M=W_\L*I:E^TRFCW%OI5WX*UJ/Q5-K%MHRZ$);=I-\]O-/#+YHD\ORRMO("V[
M@@Y'!KT/X:^/K;XE>$K?7+:TGT_?-/;36ER5,D$T,K12H2I*G#HPR"0<4 <3
M_P (Y\=?^A[\"_\ A)W?_P L*Q[SQ-\5_ /Q ^'MAXEU_P )Z[HWB76)-*GB
MTW0KBSGBQ97-PKJ[W<HZVX&"O1J]WKQ[XY?\E$^!G_8WR_\ IHU&@#V&BBB@
M KQ?Q7_R=]\-_P#L3O$/_I7I->T5XOXK_P"3OOAO_P!B=XA_]*])H ]HHHHH
M *X'Q?\ ""V\2>)9/$.F>(]>\'ZW<68T^[O-!GB7[7 K%HUDCGBEC+(6?;(%
M$BAV ;!(KD/C#::-K7Q>\#Z-XV6UN/!-Y87S)8:GM:PO-11H#$DR-\CLL9E=
M$?(RI8#<@(XNYUCPSH?B70O!/@+Q-<>%/!M[JU^NI7^G,L=M9W,5M'(EE:22
M(8D1B7<K'D QNO!)  .VUK]DOP?J>G2:?9ZEKVA6-SHO]@:A#IMX@;4+7S)I
M?WTDD;R;_,N9W+HR,YD;>6'%:OAKX/16/Q5U3Q-<6GDI%H=MX>L[@W/F27,*
M9)E=0H5&&XKP#GD\#BOG+7OBO\0=4\$ZMK</C/4-/?0?!-YK5LUI#$J:C-!J
M-Q#!<2!D.4EAB1BJX!WY&*Z3QCXP\4^%OBEI?@J?XCZG8Z1?:EI#3ZK=& 3H
MMS;WYEA1R@55=[>(+P2I;J>E 'N&D_L\^%]&TNST^";43!:^%E\(1EYE+?8E
MZ$G9_K/]KI[5C1?LK>&X);>.+7O$4.DV^IV^LQZ1'=0K;"]B*E9F(B\Q\[3E
M'<QY8D*"%*^*:U\8/$US;:IX?L?$VKW5WI$NJO;:V=2L]-LY+.$_)<7-P\<C
MRLKAH@D,+;FP7*#+"KH7Q7\>:SX+UWQM<^,-0271H?#;P:9;I$EM*]S;P-<^
M:-A+!RYX!&TYQUX /IWPS\$?#WA,^"S92WS?\(G;7%II_FRJVY)@ _F84;CQ
MQC%:&I?"S0]4^)VD>/9UN/[>TNQFT^#9+B%HY&4DNF/F88(5NP9O6O-?@YX[
M\1^(?B)J?@G4]2N+J]\$3WD>M7,B*INQ/('TTM@8^:UDWDC'S1GKSC7\"ZSI
M^F_'?XL)>7UM:N_]E%5GF5"W^COT!/- %B7]F7PHFE75K87>JZ3=2>(F\40:
MA:S1M-:WS!U+1B2-XRFV25=CHPQ(3UP1!9_LM>$[:""*>_UK40+Z_O;EKZYC
MF:\^VQA+J*4F/[C[0?EVLI^ZRCBO"_\ A*O%VHW'C.#3O%E]X=M-'TG7=8BA
MTJ""(2W46H2I$SYC.5"CYAU8X).>JZCXR\4OXGTWP[J'B2[U>VOH_".L+/>0
MP/+:S7TU\DXA/EX1?]'C*\$J0<'F@#W^W_9ZT]M+AT_5/%OBOQ!:6SV;6<.I
M7\92V6VG2:-0L<2+(2T: R2AY"HP'&3GU:O@GX>>)O'&G_#KX?>%_#OB>VTN
MQMO!$>K1ZAK.O)IX:Z,DBNA;[',)(X B%H_D($@R:T/B7XMUOQKHMI=>*/&4
M-IJMAX]\)V4/A_394-A?1M<Z?,9HMR!Y%=WE=9 1\L6,=: /N:BBB@#RK]JW
M_DV3XK_]BOJ7_I-)7I.C?\@>Q_ZX1_\ H(KS;]JW_DV3XK_]BOJ7_I-)7I.C
M?\@>Q_ZX1_\ H(H N4444 %%%% !1110 5Y%\ O^0S\5O^QPN/\ TGMZ]=KR
M+X!?\AGXK?\ 8X7'_I/;T >NUYCXE^ NFZ[K&O7UAXC\1^%XO$)1M;L=$O(X
MX-194$>]M\;M"[1JL;/ T3,JKDDJI'IU>7?$76[NX^*?@SPQ%<3VMG-8ZCK-
MP8)&C,IMA"B1D@@XW7(8CH=G- $-U^S7X2FU*)[>34-.T(O8R77AFTE1=-O6
MLU1;4RQE"^$$40VHZJXB0.K@8JU-^SYX:F_L7_2M6A;2-5U+6+:2WO##()[Z
M&XBF^= & "W4A4J05(4Y..?FWX&7/BGPWX:^!'B[6%N;/3];MH8[_6&\8WVI
M/?--8/(K7-G<((XE+)O9HV8H0!G;DU3\7?M!^.]=\/>*[&VU;4I=*U#P;+KN
MDZ]/I*Z1YDBW5LBR6J"7[2(2MQC,Z(QV@J6!R0#Z,B_9HT1A?7=]XC\1ZIXC
MN'LGB\1W5Q +ZU^R>:;<1E(5C.TSS$EXV+^:P<L, )/^RYX0NM+:UN+G5KBX
MF2\^V:A)<(;B]ENGB>::5MF"Y,,8&T*JJH4*  !PNM_&+Q5X8U#Q7X2O_$DE
MWK]CK-C9Z;<:5H N;W4!/9&Y-O% &$:N/+D_>RD(J EB.M<=HOQ_^*'B_P '
MZ5-!JEIH.HPZ/XJO;UKC3H9I99=,O%@@5E21XUW#._8S#D[3T- 'MUY^S+X:
MO/%%MJO]JZY#86^KS:]'H$-S&E@+V:-TGEV^7YGS^;(Q&_ 9F90"QSDVO[(?
MA:&T-K<Z_P")=1M4\/7'A6V@N;N$)::=*83Y4:I"HW(;>,B1MSG&'9Q@#@G^
M/7B[1[2VBUOQ+&ESK^C:=K&GKI?AY[RY2:X+LUC:P(296*J0KR9 "EF.,D9>
MG_'CXMZCX=NIWT_4HK?1M5U&RU:ZL--L;W5+98O(\EI;..Y9)(P))3(;5I7&
MQ<+R< 'NUG\!['3]:GOK3Q5XFL[:]FBN]2TVUO(H;?4+A%"^=)LB$B,X5=ZP
MO&C[?F4Y;-;PS^SEH7A7Q9H.LVNM:]+:^'_M2Z/HDUS$;&P2?/F(BB(.RC.%
M\QV* ;5(7BLSP=X[ED^,F@VMMJCZQHOC3PI)KB.JR+%%<6LEM$TD4<GS1)*E
MVF4.,&'IN9B=;X%:K>ZGJ?Q26\O)[M;7QE=6]N)Y6<0Q"VMB$3)^5068X'')
M]: .EUCX6:'KGQ)T'QS<K<?VYHMK/:6VR7$127&2Z8^9A\VTYXWMZURT_P"S
M5X5.GZQ!97.IZ9=:CKZ>)1?VTT;36MZN-K1B1&0KC(V.CC#-QG!'S=X;_:!^
M):_!&P\3Z=K.GV\6C>#?#^M265S9M<_;9KF3;,DDKN7"E1P0VX$YR:Z#XG?$
MWQS9ZU=>$KCQ$)+ZQU'4K--9M8#;2%/^$?GNT/EHP0E7  )!Z \$ @ ]HL/V
M7O"]F(S-J>MZDYU*\U*Z>_N(IC>-=VZP7,4N8\>6ZJ#A0I4_=91Q5B']G/2W
MT:'2-1\5^*]9TRU^R+96E]J"&.T2WGCFC4!(U\T[HD!DF\R3 (#C<Q/B>@_&
M;XLS!=&\.Z5J?B9_#6D:.UQ=!=+2._EN+6.>1KE[F\BE1=KJH:)&^97)+'@:
M<7Q#\:^.?$WPT\2S>(H=+T6_\=7^D2>&+5-C1Q6PO(%624-F1F, D96&T;A@
M< D ^LJBNO\ CVF_W#_*I:BNO^/:;_</\J /+/V5?^3?_!W_ %[-_P"C'KUB
MO)_V5?\ DW_P=_U[-_Z,>O6* "BBB@ HHHH *\G_ &JO^2 ^+_\ KW3_ -&I
M7K%>3_M5?\D!\7_]>Z?^C4H ]3M?^/:'_<'\JEJ*U_X]H?\ <'\JEH ****
M.2^''PZL_AUX??3(I1?,VHW^H_:9(@KAKJ\FN2O&>%,Q4'N%%<CX0^$GC#P)
M<ZI#HWCBP31;[7+_ %HV=UH)DE3[7=R7,D0E%PH.#*RAMO0#BF?$P2^)OB_X
M.\'7]]>V'AN]TV_OYEL;N2T>\N8G@6.'S8V5P LLC[589V^@-<X-4O= \<V'
MPU\'>.G9;BXO;J>ZU!EU*YTM8HXF%DID)9LF7?F4LP7CGJ #H-0_9OTNZ\)1
M6%MJ<ECX@L-<G\0:3XBA@7[3I]U+.\IVC/SH5D>)T)PZ,P(YXEO/@KX@M9-<
MM_#OCN;P[H^NR-<W]K#IJ2317$F?/EM)2X\GS/O899-K98'G \BT3X^?$/Q7
MH_B_4X=6TS3T\*^&YKUUBLA)%J-W'->0>:&8Y6$FU60 <_-C.*U+SXQ^/_#7
MB6T\%WFO:9JNI:[;:/=6NO1V*HFF_:YIHI5:,-M<?N<QEB"2Q!S@4 >W_$/X
M80^._AA=^#X]6OM+9H8DM=760S75M-$RO%.&<Y=U9%.6//.>M<^_[.^@Q^*/
MAOJUI-)9P>![$V%G8Q1KY<J" PQ;CV\M6<KCNU>;>'_C!XZUSXE1^!9->L;?
M^R/$&H:;J&NQV*$7T$%G;7:$(3MC<"Y\I\< QDC&<#R[Q[^T)X[\1^"_&EMI
MGB'46T35?A]K>OZ9XE714TM)&@ACD1[%6E^T^64E*B65%[.C-P: /8M/_8XM
M[.YL%;Q.HT^PCU2*&WM=(A@EF%]$R227$H8M-,"4/F'&=IRN3D=+X?\ V?\
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
M;K3YUW:;(@(14BVIR1SM&/;?V9O$6I^+?V??A]J^L3O>:C=:+;/+>2#YKKY
M%G/O(H#\<?/QQ0!Z91110!Y%\??^0U\*/^QPM_\ TGN*]=KR+X^_\AKX4?\
M8X6__I/<5Z[0 4444 %%%% !1110 5Y%^RQ_R24_]AW6O_3E<UZ[7D7[+'_)
M)3_V'=:_].5S0!Z[1110!QGQH\;3_#7X0>-_%MK!]JNM#T2\U*&'&0[Q0NZ@
M^V5&:\^^$=O-X;^+>K:+=:I/>!/">EW6^YG+>?*TMR9YP#Q\SL"2  ,J.!@5
M[5JFF6FMZ9=Z=?VZ75C=PO;SP2C*21NI5E([@@D?C7$6_P $O#6H^%-#T3Q7
MIFG^+_[&A-K9W6I62M(L(X0'<6RVQ4#-D;BN[ S@ 'SEX=^(?CN:P-IHGBV3
M2M.M/#.N>)?-^R174EU+!?E85WRJV(BI(..<8VD=:K0_$;Q)XO\ B/;:LFKW
MNG06WB#3[AM/TR.+_2E?P]!<M$V]&)R[,!C'WO4 CZZ'@7PZ H&AZ> NGMI2
M@6Z<6;8+0=/]6<#*].*ICX6>#QMQX8TH%+F"\4BT08FAC6.&3I]Y$1%4]@H
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
M\ K]_AGKEWKOAV?4O%FJ:U<:M866K:BDMQ8><L4(%S-'((Y<+$DDD:EXR5
M;:#6Q\'/!/Q%\#_%'4M*O5O?^$'M?.^S7,EQ;-8W$31PF/R8U?SUN/--PTK2
M(%8L2K-D4 >ZZSI-MKVD7VF7@E-I>P26TPAF>%RCJ5;;(A#H<$X92".H(-/T
MW3;71M.M;"QMX[2RM8E@@MX5VI%&H"JJ@=    /:K-% !1110 5%=?\ 'M-_
MN'^52U%=?\>TW^X?Y4 >6?LJ_P#)O_@[_KV;_P!&/7K%>3_LJ_\ )O\ X._Z
M]F_]&/7K% !1110 4444 %>3_M5?\D!\7_\ 7NG_ *-2O6*\G_:J_P"2 ^+_
M /KW3_T:E 'J=K_Q[0_[@_E4M16O_'M#_N#^52T %8FJ^$;'5?$NBZ\YE@U3
M25GBAGA(!>&8+YL+Y!S&S1PN0,?-#&<\<[=% #%AC1BRHJD]2!UI?+0@#:N
M,=.U.HH RO$VN:7X4\/:GK6KRQVNEZ? ]W=3NN0D:*69B.^ #7&:;\;- G\/
M:GK?B+2]5\$:7IT,5R;KQ/:+;Q20R9V-&ZLZLQ*X\K(E!*@H-RYTOC;X&N?B
M9\)/%OA:SG%M>:KITMM#*S;0'*_+D]AG -<%\&/!_B6V\2>*KS4/#^L^%_"\
MUG:16>B>)-7BU.XDOT,IGNT:.>98HV#0*J[P28V;RX^-P!K:G^TSX/LOA_X8
M\7&VU2[T7Q!9_P!HP"*V7S(+0*&>>96<;50,"0-S<\*:]"T+Q)I_B&]U:TLH
MG=-*N1;2SE%\IIMH9E0YY*[@#P,$XZ@X\;T?X,W1_9L\&Z#K'A:#4O&&B:;#
M!;V=Q<KY5M<D!2TK)(%EB4X9X]S!U4@!B0*;\)? OQ$\"?%B^TRX>^E\!P+,
M\=[<W%L\%V72%E<(K><+EIS=R2NZA#YB[2>@ /?A!&N<1J,]<**/)CW*VQ<K
MP#CI3Z* ,?Q1X8MO%?AS5-&GFN+*WU&![:>:Q<13>6XPP5\$J2"1N'(SD$'!
M&AI^GVVDV%M8V4$=K9VT2PPP1*%2-% "JH'0   "K%% !1110!Y%\??^0U\*
M/^QPM_\ TGN*]=KR+X^_\AKX4?\ 8X6__I/<5Z[0 4444 %%%% !1110 5Y%
M^RQ_R24_]AW6O_3E<UZ[7D7[+'_))3_V'=:_].5S0!Z[1110 4444 %1W$"7
M4$D,J[HI%*,N<9!&"*DHH ^3]:^%4O@S3?&\7AGP;-:>'M&\9:!KEOH^DZ>4
M%Q9VIM);@VL2@>:R[)'"IEG="HRQP8%@U2R^,-M\57\,^(YO!Y\07)^SIHET
M;Z))--2W6[^P^7]HVF1&0_N]P$NXC;EA];T4 ?*%E\#Y[SP#H^M/8:YI_BC4
M+QHXM.B39&L+7TMU:M=J4)C%OYKR !DY8JV[(6NW_9LUOQBEWJ7AG6]$GTW1
M=&A:" 3:3/9BW=+F6-(TFD^6\#PHDIFCRN6YY:O>** "BBB@ HHHH **** /
M&/"G_)WOQ(_[$_P]_P"E>K5[/7C'A3_D[WXD?]B?X>_]*]6KV>@ HHHH ***
M* "BBB@#R+]H;_6?#?\ ['"P_E)7KM>1?M#?ZSX;_P#8X6'\I*]=H Q-"\(6
M'AZXU62U\PQZC=F]DMY"&CCE8 .4&/E#8R1D\DGC-;*QHH 50 .F!TIU% #/
M*3CY%XZ<4>3'ECL7+=3CK]:?10 @4 D@#)[UQOB?XL>&_"7C[PMX0O[EAK_B
M,7!LX8T#!(X8S([R-GY%PI SU(./NL1V=?-?B/X+?$8_';PGXMM[_0M6L4UV
MYO+NZ:P>.XM+3['/%!"Q-S^\1?-*J$48:1G(Y:@#T/PW\6_#WQ8DET"WM-=T
M>#6-/GGTW4G'V3^T;0-L:XM98Y/,3[ZLI81OAE8#N,+P?;V/@+XE7^EV]CXQ
M\=ZXT5G9WWB*^:Q,5G 2QC1L- 2%^9V*Q.YSR6.!6/X=TKQQ=?%6+QKJ7P]O
M]'U+3],NK;5VAU6UN8=;<!%A33D:Y/E(3&'_ 'PM^HW G)%#XI?"35?$OQ(N
MI-)^&]G#K=]JVFWMK\28+F!7TZW@:-IUDW2_:!(4CDB6.&,QN)5$A4;S0!W^
MD_M&>$]7FUN.*WU&*33#&81+ B_V@);I[2,VWS_-ON(WB ;:2V.,$$^I[%D7
M+1CY@,A@,_0U\X_$SX&ZE%JVNZQX%\/OIMU9B&]M39W<0N-1NWE/G-#YLFR(
MQPRW(C5]B>=<,Y VAZ]C^$T/B2W^'^D)XM\T:Z(V,ZW#QO,@W'8LC1DHT@7:
M&*$J3G!(H ZORDV[=B[<8QCC%"PQIC:BKCI@4^B@!C0QN,,BD YP1WH\F/<&
MV+N' ..13Z* ,#P3X+L/ 6@C2]/:>96GFNY[JZ<//<SS2-)++(P !9G9CP
M,    #SWXY?\E$^!G_8WR_\ IHU&O8:\>^.7_)1/@9_V-\O_ *:-1H ]AHHH
MH *\2^+&G^*M%^.?@;QKH7A"]\7Z=I^@ZOI5U!I]U;0RQ27$]A)&W[^1 5Q;
M29P3VKVVB@#R+_A<?CG_ *(EXI_\&6E__)5'_"X_'/\ T1+Q3_X,M+_^2J]=
MHH \B_X7'XY_Z(EXI_\ !EI?_P E4?\ "X_'/_1$O%/_ (,M+_\ DJO7:* /
M(O\ A<?CG_HB7BG_ ,&6E_\ R51_PN/QS_T1+Q3_ .#+2_\ Y*KUVB@#R+_A
M<?CG_HB7BG_P9:7_ /)5'_"X_'/_ $1+Q3_X,M+_ /DJO7:* /(O^%Q^.?\
MHB7BG_P9:7_\E4?\+C\<_P#1$O%/_@RTO_Y*KUVB@#R+_A<?CG_HB7BG_P &
M6E__ "51_P +C\<_]$2\4_\ @RTO_P"2J]=HH \B_P"%Q^.?^B)>*?\ P9:7
M_P#)5'_"X_'/_1$O%/\ X,M+_P#DJO7:* /(O^%Q^.?^B)>*?_!EI?\ \E4?
M\+C\<_\ 1$O%/_@RTO\ ^2J]=HH ^;_C/XM^(GQ*^$7C3PG8?!GQ':WNN:/=
MZ=!-<:GIGEQO+$R*S8N2< MS@$U]#Z;"]MIUK%(,/'$BL/<  U9HH **** "
MBBB@ HHHH *^=/!GQ"D^%GB[XD6.K>$?%MR;[Q)+?6USINB37,$L+00@,KH"
M#RK#\*^BZ* /(_\ AI'3/^A+\>?^$S<__$T?\-(Z9_T)?CS_ ,)FY_\ B:]<
MHH \C_X:1TS_ *$OQY_X3-S_ /$T?\-(Z9_T)?CS_P )FY_^)KURB@#R/_AI
M'3/^A+\>?^$S<_\ Q-'_  TCIG_0E^//_"9N?_B:]<HH \C_ .&D=,_Z$OQY
M_P"$S<__ !-'_#2.F?\ 0E^//_"9N?\ XFO7** /(_\ AI'3/^A+\>?^$S<_
M_$T?\-(Z9_T)?CS_ ,)FY_\ B:]<HH \C_X:1TS_ *$OQY_X3-S_ /$T?\-(
MZ9_T)?CS_P )FY_^)KURB@#R/_AI'3/^A+\>?^$S<_\ Q-'_  TCIG_0E^//
M_"9N?_B:]<HH \C_ .&D=,_Z$OQY_P"$S<__ !-1S_M'::\$BCP7X[R5('_%
M,W/I_NU[!10!YC^S/I5_HGP+\(6>IV-QIM]':$RVETA26(EV(#*>AP1Q7IU%
M% !1110 4444 %>4?M4([_ #QEY<4DS+:JY2)"[$"12<* 2> >E>KTA 88(R
M/0T >1V_[4_PQ6"-3XC((4 C[#<>G_7.I/\ AJGX8?\ 0R'_ , ;C_XW7JOD
M1_\ /-/^^11Y$?\ SS3_ +Y% 'E7_#5/PP_Z&0_^ -Q_\;H_X:I^&'_0R'_P
M!N/_ (W7JOD1_P#/-/\ OD4>1'_SS3_OD4 >5?\ #5/PP_Z&0_\ @#<?_&Z/
M^&J?AA_T,A_\ ;C_ .-UZKY$?_/-/^^11Y$?_/-/^^10!Y5_PU3\,/\ H9#_
M . -Q_\ &Z/^&J?AA_T,A_\  &X_^-UZKY$?_/-/^^11Y$?_ #S3_OD4 >5?
M\-4_##_H9#_X W'_ ,;H_P"&J?AA_P!#(?\ P!N/_C=>J^1'_P \T_[Y%'D1
M_P#/-/\ OD4 >5?\-4_##_H9#_X W'_QNC_AJGX8?]#(?_ &X_\ C=>J^1'_
M ,\T_P"^11Y$?_/-/^^10!Y5_P -4_##_H9#_P" -Q_\;H_X:I^&'_0R'_P!
MN/\ XW7JOD1_\\T_[Y%'D1_\\T_[Y% 'E7_#5/PP_P"AD/\ X W'_P ;H_X:
MI^&'_0R'_P  ;C_XW7JOD1_\\T_[Y%'D1_\ /-/^^10!\X_$+XR>$OB9XP^%
MVF>&M1EU2]A\4PW,D<=G,H2);><%R60  $COWKZ2I@B13D(H/J!3Z "BBB@
MHHHH **** "OG7]G'XN>!_#GPWGT[5?%^AZ;?PZ[K(EM;O4(HY$)U*X(RK,"
M."*^BJP)_ 'ABYFDFF\.Z5++(Q=Y'LHRS,3DDG;R30!A_P#"^/AO_P!#[X;_
M /!K!_\ %4?\+X^&_P#T/OAO_P &L'_Q5;/_  KGPI_T+.D?^ ,7_P 31_PK
MGPI_T+.D?^ ,7_Q- &-_POCX;_\ 0^^&_P#P:P?_ !5'_"^/AO\ ]#[X;_\
M!K!_\56S_P *Y\*?]"SI'_@#%_\ $T?\*Y\*?]"SI'_@#%_\30!C?\+X^&__
M $/OAO\ \&L'_P 51_POCX;_ /0^^&__  :P?_%5L_\ "N?"G_0LZ1_X Q?_
M !-'_"N?"G_0LZ1_X Q?_$T 8W_"^/AO_P!#[X;_ /!K!_\ %4?\+X^&_P#T
M/OAO_P &L'_Q5;/_  KGPI_T+.D?^ ,7_P 31_PKGPI_T+.D?^ ,7_Q- &-_
MPOCX;_\ 0^^&_P#P:P?_ !5'_"^/AO\ ]#[X;_\ !K!_\56S_P *Y\*?]"SI
M'_@#%_\ $T?\*Y\*?]"SI'_@#%_\30!C?\+X^&__ $/OAO\ \&L'_P 51_PO
MCX;_ /0^^&__  :P?_%5L_\ "N?"G_0LZ1_X Q?_ !-'_"N?"G_0LZ1_X Q?
M_$T 8W_"^/AO_P!#[X;_ /!K!_\ %4?\+X^&_P#T/OAO_P &L'_Q5;/_  KG
MPI_T+.D?^ ,7_P 31_PKGPI_T+.D?^ ,7_Q- &-_POCX;_\ 0^^&_P#P:P?_
M !5'_"^/AO\ ]#[X;_\ !K!_\56S_P *Y\*?]"SI'_@#%_\ $T?\*Y\*?]"S
MI'_@#%_\30!Y+\,?%>B^,?VKOB5?:%JUEK-FOA+P_$UQ87"S1AQ=:J2I921G
M!!Q[BO?*SM(\.:3H'F_V9IEGIWFX\S[+ L6_&<9V@9QD_G6C0 4444 %%%%
M!1110!XO^TWJUEH5E\/K_4KN"PL;?Q=8O+<W,@CCC7$G+,> *ZW_ (7Q\-_^
MA]\-_P#@U@_^*KL-3TFQUJU-MJ%G!?6Y(8Q7,:R)D=#@C%9'_"N?"G_0LZ1_
MX Q?_$T 8W_"^/AO_P!#[X;_ /!K!_\ %4?\+X^&_P#T/OAO_P &L'_Q5;/_
M  KGPI_T+.D?^ ,7_P 31_PKGPI_T+.D?^ ,7_Q- &-_POCX;_\ 0^^&_P#P
M:P?_ !5'_"^/AO\ ]#[X;_\ !K!_\56S_P *Y\*?]"SI'_@#%_\ $T?\*Y\*
M?]"SI'_@#%_\30!C?\+X^&__ $/OAO\ \&L'_P 51_POCX;_ /0^^&__  :P
M?_%5L_\ "N?"G_0LZ1_X Q?_ !-'_"N?"G_0LZ1_X Q?_$T 8W_"^/AO_P!#
M[X;_ /!K!_\ %4?\+X^&_P#T/OAO_P &L'_Q5;/_  KGPI_T+.D?^ ,7_P 3
M1_PKGPI_T+.D?^ ,7_Q- &-_POCX;_\ 0^^&_P#P:P?_ !5'_"^/AO\ ]#[X
M;_\ !K!_\56S_P *Y\*?]"SI'_@#%_\ $T?\*Y\*?]"SI'_@#%_\30!C?\+X
M^&__ $/OAO\ \&L'_P 51_POCX;_ /0^^&__  :P?_%5L_\ "N?"G_0LZ1_X
M Q?_ !-'_"N?"G_0LZ1_X Q?_$T 8W_"^/AO_P!#[X;_ /!K!_\ %4?\+X^&
M_P#T/OAO_P &L'_Q5;/_  KGPI_T+.D?^ ,7_P 31_PKGPI_T+.D?^ ,7_Q-
M &-_POCX;_\ 0^^&_P#P:P?_ !5>:_$[XE^$O&/Q2^!]GH/B;2-9NT\632M!
M87L<SJ@TC4 6(4DXR1S[U['_ ,*Y\*?]"SI'_@#%_P#$U8L/!7A[2KN.ZLM"
MTVSNH\[)H+2-'7(P<$#(X)'XT ;5%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5X
MK^T3;W6L^)/A+X>CU?5=(L-9\2RVU\VD7LEI-+$FF7LRIYB$-C?$AQG^&O:J
M\>^-W_)3O@5_V-EQ_P"F?4* )/\ AFG1/^AL\>?^%7>__'*/^&:=$_Z&SQY_
MX5=[_P#'*]=HH \B_P"&:=$_Z&SQY_X5=[_\<H_X9IT3_H;/'G_A5WO_ ,<K
MUVB@#R+_ (9IT3_H;/'G_A5WO_QRC_AFG1/^AL\>?^%7>_\ QRO7:* /(O\
MAFG1/^AL\>?^%7>__'*/^&:=$_Z&SQY_X5=[_P#'*]=HH \B_P"&:=$_Z&SQ
MY_X5=[_\<H_X9IT3_H;/'G_A5WO_ ,<KUVB@#R+_ (9IT3_H;/'G_A5WO_QR
MC_AFG1/^AL\>?^%7>_\ QRO7:* /(O\ AFG1/^AL\>?^%7>__'*/^&:=$_Z&
MSQY_X5=[_P#'*]=HH \B_P"&:=$_Z&SQY_X5=[_\<H_X9IT3_H;/'G_A5WO_
M ,<KUVB@#YI^,GPHB^&/A&S\0Z)XN\:#4+?6M*B47?B2[GB9)+^"-U9'<JP*
M.PP1WKZ6KR+]J;_DDR_]A[1?_3G;5Z[0 4444 %%%% !1110 5\^KX'/Q0^.
M7Q$MM4\2^)[*STE-/CM+72-;N+**,/"6<[8V ))[FOH*O(OAM_R7KXN?72__
M $G- !_PS3HG_0V>//\ PJ[W_P".4?\ #-.B?]#9X\_\*N]_^.5Z[7FOQ7\1
MZVGB+PAX0T'4SH-WXBGN%EUA((YI;:&&(ROY22!H_,;  +JR@9.TXH S/^&:
M=$_Z&SQY_P"%7>__ !RC_AFG1/\ H;/'G_A5WO\ \<KE=9^*_B?X/^-Y/!%W
MJ$OC^^U.*T?1+S5%@M9UFFG\DQW36\21^6I!<,L0; *X8X-2^-/VB/%7@?6K
M7PU?^%;1O$YLY=1E%E]NOK5K<2>7'L-O:R.&<AO]8J@;#SR* .E_X9IT3_H;
M/'G_ (5=[_\ '*/^&:=$_P"AL\>?^%7>_P#QRN"\=?M?77A*/3;I-#L%6>TL
M[JYT.[N9_P"V(%E=5=I+>.%A;HOF( TYC#'.*Z'P?^T+K^O^(M+%_P"&["Q\
M.ZGXDU+PW;7,=\\ET9;66=!*8_+"A&\@C&[(.>HP: -S_AFG1/\ H;/'G_A5
MWO\ \<H_X9IT3_H;/'G_ (5=[_\ '*E\1ZAXC\;_ !5U#P?I7B>^\&Z?I.F0
M7\U[I-O:RW=S),\BJF;F&:-8U$9)PFXDCY@!SD77Q(\?>&[L^$H+71O%WB72
M-';5]1U.>=K&*X@\UXX0J(C@3N(G+ 80%3C (  -+_AFG1/^AL\>?^%7>_\
MQRC_ (9IT3_H;/'G_A5WO_QRN+@_:LUC59=6U;3O"]F/".E76DP7%U=WS)=N
M+Z""7Y(EC*YC,X!RP!XP>N'ZS^UXF@^%XKZX\/\ FZM:#4DUG3+:=I'LY;6Y
M6U"+A"6\R:2$*<#*R C/2@#L?^&:=$_Z&SQY_P"%7>__ !RC_AFG1/\ H;/'
MG_A5WO\ \<KBH_VG_%4TEEIL/@I9-7OM8L]+MKJYBO[&P<3I,Q;?<VL;EH_)
MRRJAX88.>*?<?M-:Q'XC\3>'=5T[3= U+3].O9X;22]D@U"9H8RRSV\<\ CN
M(6V2_-&9-H +J.0 #LO^&:=$_P"AL\>?^%7>_P#QRC_AFG1/^AL\>?\ A5WO
M_P <KF;#]HW7)-'.OIH%M<^$M-NK'2]2O9[W%\UQ,D)DDCB6,(41IT!Y4DAL
M*!BKGPT_:#U_Q?KGA5-8\-V&E:1XGEU&#3Y;>^>:X5[1W4F1#&%"N$8C#$CC
M- &U_P ,TZ)_T-GCS_PJ[W_XY6#X_P#V?]-T#P-XAU.S\7^.H[NST^>XA9O%
M5ZP#K&S*<%^>0*][KE/BQ_R2[Q=_V";K_P!%-0 OPJO[G5?ACX3O;R9[F[N-
M*M999I#EG=HE)8GN23755QWP:_Y)'X+_ .P-:?\ HE:[&@ HHHH **** "BB
MB@#YL^%'POC^*FF^)->UOQ9XQ6]/B?6;18['Q%=6T,<4-_-%&BQHX50$11P.
MU=M_PS3HG_0V>//_  J[W_XY2?LP_P#(B^(O^QO\0?\ ISN*]>H \B_X9IT3
M_H;/'G_A5WO_ ,<H_P"&:=$_Z&SQY_X5=[_\<KUVB@#R+_AFG1/^AL\>?^%7
M>_\ QRC_ (9IT3_H;/'G_A5WO_QRO7:* /(O^&:=$_Z&SQY_X5=[_P#'*/\
MAFG1/^AL\>?^%7>__'*]=HH \B_X9IT3_H;/'G_A5WO_ ,<H_P"&:=$_Z&SQ
MY_X5=[_\<KUVB@#R+_AFG1/^AL\>?^%7>_\ QRC_ (9IT3_H;/'G_A5WO_QR
MO7:* /(O^&:=$_Z&SQY_X5=[_P#'*/\ AFG1/^AL\>?^%7>__'*]=HH \B_X
M9IT3_H;/'G_A5WO_ ,<H_P"&:=$_Z&SQY_X5=[_\<KUVB@#Q#X/Z1/X-^-WQ
M!\+Q:WK6K:1:Z5I-Y!'K.HRWK122M=B0JTA) (C3CVKV^O(?!_\ R=!\2O\
ML7]#_P#1E]7KU !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %>/?&[_ )*=\"O^QLN/_3/J%>PU
MX]\;O^2G? K_ +&RX_\ 3/J% 'L-%%% !116-KWC'0_"S*NKZM:::S0R7 %S
M*$)BCV[WY_A7>N3VW#UH ^5_V@?CS?Z%\7[F^TN\\4QZ'\/C:C48-&T;4+K3
M[^68K)>)<S00M OV>U:)P)'7!E)XP*ZS7/C3XTN?$$FL:-JND0^&(/'.F>$S
MI<]KOFF@GDMA)<"4.,,PG)1<8V8;FO:H=(\(Z'#)X?6*QMT\3375P]D[9.H2
M2*7N&P3E\J23[>U>?^/OV<? UTWA"]M(;;PW=Z)K.CS6UQB219!:SQ^3!M+@
M%V5%B$C L 0.0,4 <%K7[07BF;P3X4G+6@EUK2?%%Q=^4CQL&L<B#8RN&3W(
M.?0BN?T;XW^.X-:M_#.@P:GK&J:[JE_<">+R+I[2WMK2Q8Q1+>7,*?,]T#C>
M3A7(!Y(]ZT#X._"[7))O$&D:)IU\MY]L@-U!*[QGS6:.Z1!NVKN96#!0.0>]
M6/%OPS^'&G>')'UW3;'3M*BO%O#<O.]N8KAE6%7656#(Q7:G!&1Q0!X[KWQW
M^)GAW6_AYH6KVVD:)K'C6(6K6]TT4CZ-<13;7G?RI'21)8\!5#_+(RKDYX^F
MM:=X=%OW1RLBV\A#J<$$*>17G'BGP+\)/A_H<\FO:?H^B:;>Q6^GE[ES&&6)
MS)%&ASE2'+/\F"6RQR>:W?!FN>$YK".'3?$D&M0^(;J\NK;==B7SOFS+''S]
MV/< 5'3O0!\V>%_C-\1;/X0IJUIKMJ]OX8^'ND>(KC^T;9KJYU*>2!WE625G
M!&X1?>Y.6S7LWPP\9^,?B7J-QXCCU;3=/\.0:S<Z8="ELR9C%"6CW^=OR)"X
MWA=N-I ]ZZC4OA[\/_"?A'4;>_TS3]-\/2Z9#HUV)V*0FS0&.*%B3]T;RH[_
M #59?X->#'\0_P!MG0H1J6=WF+)($#[-GF>6&V>9MXWXW>] ':45G75]IOA7
M2X6NKF.QL8C' DEQ+P"2%0%F/))(')[UHT %%%% 'D7[4W_))E_[#VB_^G.V
MKUVO(OVIO^23+_V'M%_].=M7KM !1110 4444 %%%% !7D7PV_Y+U\7/KI?_
M *3FO7:\B^&W_)>OBY]=+_\ 2<T >NUS/CKX?Z;X_L;2*^DNK.[L9Q=6.HV$
MOE7-I, 1OC;!'0D$,"I!((-=-7'?&/Q?=^ ?A5XL\16"(]_INFSW%L)?N"4(
M=A;_ &0V"?8&@##?X :!=V.H?VCJ&L:KK=Y+;SGQ#=W*_;X'@;=;F)E14C$;
M9(54VL2V\-N.8Y_@#I\MY;:FGBOQ5!XBB22&374U!#=3PN06A8-&8A&"H("1
MKM.2,%F)X[1O!UMKOQ*3P/XAU+4K[2-&\-V=U90OJ,T,E]<222BYN'9'5G8%
M4[X7S.@XKD/B)\5;SP-X6ETSX?\ CO6_%4^AZ9=W31Z?IUI>O&B/*%>\O;ET
MA6&,PF+:&$S$$@N>@!ZAKW[+_AG7UU*"36O$MOI^J?9WU"RBU,LMY- J+%-+
M(ZM*S@1Q@_/M;8-RG)ST.F?!'PYI4.C10F\*Z5K=WK]N7F!/VJYDEDEW<<KN
MG? [<<\5Y5X-^.OBK7-5LO#=[<VR^(=2&GZY;&&V&(](FLC/*Q![">&:#=R0
M72N0TKXG_%;4M"\)7<GCF&&7Q#X*O_$[>7HUN1;36RPF.-,CE'$PW[LG*G:5
MSP ?1_C#X667BK7K;7;;5]7\-ZY#;M:'4-%G2-Y8"V[RY%D1T<!N02N1S@C)
MSS!_9E\*VME;PZ5?ZWH=R+26RO=0L+W%SJ<4C^9+]ID=6WLSEFWC:P+,%*@X
MKQKQ1^TOXJ%]X6UC1-1O;RTN=4\/:?JNGV^D6Z:78M?&V\V*2YFD$TLQ6YWJ
M+<,% 7>HY8]!X ^)7C+Q%XC\(6GB+7EU'2/&E[XATDV%O:);_8UM'E,,B2IA
M]^R)E.20=P( (H ]7;]GOP>NDZWI=O;7%GI^K7%C<RV]O+M6,VD4,4"Q\<*%
M@CR#G///-0S_ +-_@:[\1^/M:N-/FGNO&T4$.JHT[!%$2*BM"!@Q,=D;%E.2
MR*W45P.L^,]7U/\ 9!UO49+ZX35K!9;$W\;LDLAAN_*$FX8.6"\GODUV7QP\
M5ZAX6MO \U@ZK)<:F4<ODY M)G'?GE1US0!K6?P0T]9]+N-4\1>(_$5UIFH0
MZC;3:K?A]DD22(@V(BIC$KY(7<QQEC@53US]GG0O$^M-?:SK/B#5[9'NIK/3
M;V_\VWL9KB%X))(<KO!\J655#.RJ)&VJ.,>!Z5\6OBQ=>";75+CQO;B\G^&J
M>.6$>CP;5NO(W_9QD<PDGG/S^C+TJK??%'Q1<?$71O$<.K7=M:65_K-S)HUF
M%,5VL6EPSB-]V2022O48ZC!YH ^A%_9P\+IJ$4B7>K1Z5YMM<W&AK=#[#=W%
MNB)%/(FW=OQ'%D*RJQC4E2<YUM$^"GASP^?"AM?M?_%,RW<UAOF!^:Y+F7?Q
M\WWVQTQ7S]I_QT^+-EHUA?7^GW5IIFOV=JT6KZV-)"V,\]Q#&'MXK2ZE:6'9
M,YS, 5,:9)WD#TS]GZ37(/B?\:--USQ*_B=['6+"."Y<*FQ#IMNQ7RU^2-LD
MY"  GYL DB@#W.N4^+'_ "2[Q=_V";K_ -%-75URGQ8_Y)=XN_[!-U_Z*:@"
M'X-?\DC\%_\ 8&M/_1*UV-<=\&O^21^"_P#L#6G_ *)6NQH **** "BBB@ H
MHHH \A_9A_Y$7Q%_V-_B#_TYW%>O5Y#^S#_R(OB+_L;_ !!_Z<[BO7J .=^(
MNI7.C?#_ ,2W]E,;>\M=-N)H90 2CK&Q4X/'! ZUX9-XJ\1_"7P5\/?'%_XR
MUCQ/8:LMM%J^FZK';,")K8R&6 Q11LK(RYP=P*EO0&OH/Q'86.K:%?:?J;B.
MPO8FM)B9-F5D^3 ;L3NP/<BO-?#OP@\"Z%KNEZ=<:_>>(+W2K=K?3](UO6/M
M(M5:+RR4@)'S>5E=Q!(5FQU- 'FNB?M8>,=;T>:_L?A]K.K+<Z<+^U^S>%]9
MMTM,N@V2//;J+GY'+C[/DMY9"J=PK43]J&XNO -AK-KKW@R>ZN=0DLE6V6_N
M+J9E"XACTM(_M?V@%_GAVED5=Q&#QZ)I_P"SWX<TW3Y+"#4O$2V2P^1:0#69
MPM@FX,!  PVX*KC.< 8Z9JO_ ,,V^%UNOM\=_KT6N-)))-K<>IR"]G#HD;*\
MG==D48Q@8VB@#Q70OVG/%WCBSM;VS9-&EU^#0;*&*2$M'IL]U?W-M/.%=5<G
M;$-J/T;:".M>L>);WQ+\#]/U'5'\53^,[&>"*"ST[7%A2Y2]>9(D82PH@\CY
M_F!0D'&&YQ6MHO[-/@/0?#]]HEMIUPVG7=K#9O%-=2.42*XDN(BC$[E9)9&9
M6!R"%YXIZ?LZ^$IUU)]5;5/$5[>VHLCJ&L7[W%Q!"&#A(7./+^=5;*X)*J23
M@4 6OAGX^US6_%7BOPGXHLK"WU[0%M+@W&ELYMKFWN5D,; /\RL&AF4J2?NJ
M1][ \_TOXKZ_;?L17WQ"O;R2]\0VOAB\U-KE=D;O+&DC*1A2H/RC^$CV->M>
M!/AII'P]_M.6P>\O=0U.5);[4M2N6N+FX**$C#.W95& !@#GN23Q&D?LW>$3
MX$N_#-MK>OW_ (.U+39]/_LUM7:6U-M.K!@F.G#'!!XH XB^_:*\??V_9V]A
MH>@-IM]XO;P?;274\WG++]EDG%R^T8*CRR"@P3V85RWC']HSQYJNGLFBR66B
MZU#81-.>9;7S4U?['(44KNPP7J6X!Z9YKZ MO@UX0N);.>".24V'B%O$<92Z
M+!;_ ,IX23@]-LC#9TS6==_LV>";N&_0VUY$UY;O;/+%=NKHK79NRR'LPF)8
M'MTH \XTO]K;4[_Q7<!/"NJ7OAFUU:\TFXGL?#FJOL%L\D4MW]L\C[)Y?FPN
M-GF;@",D,&4:/PT^*WC_ ,:?%3P+-K,.FZ7X5\3>%;G7;;3K"0R21Y>W:%9G
M8?,ZQR\LF%))XX!KT"Q^"?A70/$37\-YJ5JE[>O?/I/]I.ME<7;K^\E,&<,S
M8+,.A)9B,DFH/!OP$\'_  U\3:?K>G3:A'-9VDFDZ9:WFHO);6=M(ZM]G@C8
MX51Y:A1R0% '% 'J%%%% 'D/@_\ Y.@^)7_8OZ'_ .C+ZO7J\A\'_P#)T'Q*
M_P"Q?T/_ -&7U>O4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 5X]\;O\ DIWP*_[&RX_],^H5
M[#7CWQN_Y*=\"O\ L;+C_P!,^H4 >PT444 %?-_Q)T/4/%WB?XY:;%;O=ZN?
M#.F0Z5!CEK9OM+L(\]VF60''78F>@KZ0K+N?#.FW?B*RUZ2W/]K6<$MK#<I(
MR'RI"I=& (#J2BD!@<$9&#0!\M?'+Q&_Q3T.TE\'VNK74^A^%];FNY%L)X'M
MY9-/:&*,;E4F4NW 7)^4U6UWP3J'A'QIIFD:#IVJ1:-<R^%+J\V>=(LTPU-1
M<22,2<L8\F0GJ.6XK["HH _/G2?!6HZ1I'A_13]E\,>%;9-9BD35?#&H:I"F
MI'4IB"([>ZMRDGV?RC'(=X(W $9.;WCWPW--X0URQ\:)XC\3^-_M6BGP[J/]
MG7,;RV*_9\E8U+B(>:MP95=BQS\Q(Q7V#\0?C/X1^&6J^'M*UW58X=7U^_MM
M.T_3H?WEQ*\TRPJ^P<K&'=0TAPHR!G) -*]^.?AZP\5MHTD&HFVCU!-)GUH6
MX^P07KJ"D#R%MP8ED7(4KN<*6!R  <]^T':Z<+_PKJ%WJ/B/PS>V4MP;+Q/H
M-I%=I82/'MV3PR12AE<$C_5_P_>4D&O"-+TC4/\ A(_!_B76_#*>(KW3[S7/
MLVNZ)I$VE/K\[6<#1W)AW,;>:6594W9"EDW#:"!7T+!^TKX1D@N+R>/4[+2A
M97.H66I7%KB#4H(/]:UN0Q9N,$!@I8'(R.:V?"?QHT/Q?<6MG;6NH6NJ27T^
MGSZ;=0JL]I)#&LCF4*Q 7:\6"I;/FIZG !\12>&;SQ3I7C@-H*?\(_=^%+*]
M&E:9IVHF*&XAOXV99)K@[KJY6)F+2+%&3DC:V,GT#1O#_B*^^(US-=>)&T+6
M(]=D>RCL?"5_/J3Z;C,*17GVP6X@,!5<&#Y>006&3]MT4 ?&'PJM8-/\-_$K
M1=9M;;5?#K>%Y9;OQ3#:7^EF15C_ -7>VERSI]JRTS^=%(<A1E4X%?47PANM
M;OOA/X*N?$RLGB2;1+*34U<8871@0S CUWEJV/$OAC3?%^DOIFKVYN["1T>2
M#S719-C!@&VD;ER!E3E6'!!!(K5H **** /(OVIO^23+_P!A[1?_ $YVU>NU
MY%^U-_R29?\ L/:+_P"G.VKUV@ HHHH **** "BBB@ KR+X;?\EZ^+GUTO\
M])S7KM>1?#;_ )+U\7/KI?\ Z3F@#UVJ.NZ)8^)=$U#2-3MTN].O[>2UN;>3
M[LD3J593]02*O5R7Q=.KK\*?&1T .VN#1KS["(_O&?R7V;<=]V,>] 'GE^GP
MS;P'X9@\=:GIWC"2Q$NGV6IR6+FXN1"YB=@D>YB?D =TPC,-P"AE4=-IWPT^
M%OQ%\/:%?V7A[0]8T:VMA!ISQ6ZF..$'_5@8Z YRK#@YR,YKS[PO>Z?X!\2^
M#_%::5J5_P"#;[P99:?IU]I&F37YM-N)%4Q0([JLB,IW!=OR8)'%<'\8(T\<
MQ6*1?"3^S-/OK6_N+6ZU3PW=:F6E=N&6QAVI;W,I$;>=.8W52?FX*T ?1>@?
M"BST?QY<>(G%@T,&D1:%I%E:V/DFQL@V^2-G+MYFY@F,! H0  DECLP_#KPQ
M;P6$,6A6*16%A)I=JBP@"&UD"AX5]$8(F1_LBOESX3^'O$NE^)? ?@_4+/44
ML_%.DZ=XFU-[UI%DMY].B2&[C<-R"\C:8"#UW2$UE>"?V=]/N;;X;'5_!$\\
ME[HVMG7C?6<K&XF+AK=;O</G*G'E"3.P* F !0!]/W/P(^'EY?0WDW@[2);F
M$6_ER-;+E/(*&$CW3RTVGJ-HK3N?AUHT-E;#2-.T_3-1T\W4NEW?V4.+*>X#
M"655!7EB[%@",Y//-?"GB71/%^M^ O!DEWX)U2/QOINC>%+DZQ<:%J%_JTTD
M8M9+EHKGA+$QD3"1%)D=@VY.<UZSX1^&NH>&/B3\/?$MCX<O[?5[[QYKT6M:
MD;67S6TQ[6^,2S.1D6_FK;L@8[-^S;R1D ]YT+PEX.MO#;_"JZ:VUK[-ID4]
M_IUVFYIX)I)%$TB],2213?BIJ.R^&?PT\*ZO8Z1;Z%I=GJ%Z7N;:V,9+2&-"
MK.N<_=60CZ,:\E^.7@Z\UOXI>/I[BTU>/1;GPAH-N;NQT>348IGCU/4'DA>!
M<>>@5T,D2G=L<<<C/GMGIGB&W\(:5.GPTO&L-/AURW73=)CU&QM[R*00;I8H
M7Q/9QNS3[;=0#A"$4AAD ^O8_AKX5BLTM$\/V"VR:4-#6(0#:+#;M^S8_P">
M>.-O2JUQ\,?!D M[N7P]IJ?V?<G48I?( \F81[#*/?8-OT&*^,O#/PNU#7O'
M%OITOA.6'P=>^(=#N[FRTGPS=Z-I3JD%X+D&WDY:/=Y<<C2*@D4@,FUN=\>!
M8]-N[FP\:^"=8U3X=64VOVNBZ/::/<7<%I=--$UM(MM&C%08C,(IMNQ,N R[
MQD ^E_!_PN^&5YH-Q?\ AWPWHTNDZ]; 22P6X*7,))8#D<+DDX&.:TOAAX9\
M$:#I-U=>!M.TZRL;ZX8W,FGQ[?-FB)B;S.^]2A0@\C;@]*^/_!7@K4?#>I_#
M^\/A35M9UR*ST>#[!KF@7J7-A&BL";35(CM@"L6:6";:&;?G(<9^F?@UYB_$
M?XS):Y_L,>(X# !]P7)TZT-UL]M^"V.-YD[[J /6JY3XL?\ )+O%W_8)NO\
MT4U=77*?%C_DEWB[_L$W7_HIJ (?@U_R2/P7_P!@:T_]$K78UQWP:_Y)'X+_
M .P-:?\ HE:[&@ HHHH **** "BBB@#R']F'_D1?$7_8W^(/_3G<5Z]7D/[,
M/_(B^(O^QO\ $'_ISN*]>H \C^+4L^H_%GX8:#)_R#9SJ>I>6Y^2:[MX$^S(
MPZ-CSI)0#G#0*V,J"/,_ 6J_"N'X?:!9^*/LT_C^/41]JM(2?[=_M'SR2P"D
M3XSDY^[L_P!FOHSQ3X/LO%G]DR7+S6UWI5]'J%E>6Q42P2J&1MI8$8>-Y8F&
M.4E<<$@C4_L^U^U?:?LT/VC_ )[>6-_Y]: /B*]^(&L>.OB7I6E^%_%>NZ,V
MN7^JZ7--?>*#-?)((9MC'38T\FT2.15"$E)#Y?S(<ECT]K\1/%'Q=\-^$-8?
M6-:\,VVJ>*-+\.7MM8W!MW+Q6\QU%%9>5S/OA+*0P,)*D$ CZPNM'@FAN1 !
M8W4RL!>6\4?FQN00'&Y64L,Y&X$>H(XJCX0\'V/@SPY9:/:M+=);L\KW5UM,
MUQ/([233R%55?,DD=W8JJC<YP .* /D.P\7Z[X%O?#VIS>+O%FHVLOBGQ)H-
MU"]\UVYL+;3K^YA6..0%6F1[:/;*P+G!#%@<5RFF_%'Q'JOB/7-(T?Q?JMEH
MVH:7H5S"T/BIM9N8GDU)HIG\\IMAE:)T#Q0LZ+E<$'@?<GB_Q3X<\ Z*VK^(
MKZSTC3HYDC^T7.%'FR-L55[EF+;0!R<UB:Q\2O WA+Q+#X>O+RWM-2<Q*R16
M<CQ6YE8B$32HACA+L#M$C+N(XS0!RO[.^K7YU?XJ^&[O4K[5;+PSXK.GZ=-J
M=T]S<);OI]G<>6TKDN^))Y<%B2 0.@%?+G@KQ]=^!?@K\%;^;Q#>/IMOX0TB
M1=#T+7_[/U5'QGS(;21##J(D98XC$Q+ ,=JDD5]G6GQD\#S>*;_08=:@CU&W
MDF6>1X)([9I(5!F1;EE$,CQ@?.JN63:P8 J0(O#?Q2\">,K"POM,NDG1KR/3
M[6.?3YH9UG:/S44121JZ@QCS VT+M!;. 30!\K^(_':Z'9ZSHT.HZG8:C+J>
MO7EN1XE.@V *W &]I8U:>>8' 6% ZGS,LHR&$>A^.O%VL^#?$'C2[\9:[)?Z
M':>&7M+6&^:*U\R>*(W+21+A9?,SR'! () !9B?N*73K2<J9+6&0JQ9=T8."
M>I'O3A9VZHR"",*V,J$&#CI^5 'P]=^)CX@\6^"-3O\ QY?6WQ''B+64OM$N
MIVGBTL1Q720$6(XC1$6)E8*#*&R6;?FM3P=XH3Q/\'OBAIFH:Y=ZO?:-X<36
M8M?M/$_]N::+B*!I8KRWFD19;>82Q[S X"KL& 03G[+&GVHN3<"VA%P>LOEC
M>?QZU@^+?A[I'C'0&T2[1[;2YIX9KJVL]L2W:QN'\F3Y>8V*@,HQN7*DX)!
M-'PIJ-UJ_A?1[Z]A^SWEU9PSSPXQLD9 67'L216K2=*6@#R'P?\ \G0?$K_L
M7]#_ /1E]7KU>0^#_P#DZ#XE?]B_H?\ Z,OJ]>H **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ K
MQ[XW?\E.^!7_ &-EQ_Z9]0KV&O'OC=_R4[X%?]C9<?\ IGU"@#V&BBB@ HHH
MH **** /-/CKX)U'QCHGAU-&L$N[ZU\4:%?W#;TC9;6VU&&>5MS$9"HKMM!)
M/( ).*\U\0?#'QCJ$_B/P5'X=G.CZWXM37QXI6\M_LT%L9$F='C,@G\X-&44
M+&4^927 SCZ5HH ^:/ _PD\1ZY%\//"OB[PB;+0O!FG7FG7MY<7-M+:ZNKPF
MV3R$CD:0(R$NWFI&5X !ZUA^+?A%\1O"LE[JGPWTF^TNYGEO[:UMX]1MI[I6
M"8M;F[GNI7\R*6<&20!VE$0B4#*E!]9T4 16PE%M$)RIGV#S"GW2V.<>V:EH
MHH **** "BBB@#R+]J;_ )),O_8>T7_TYVU>NUY%^U-_R29?^P]HO_ISMJ]=
MH **** "BBB@ HHHH *\B^&W_)>OBY]=+_\ 2<UZ[7D7PV_Y+U\7/KI?_I.:
M /7:*** ,WP]X=T[PKI@T[2K;[)8K++*D"NS*AD=G8+DG:NYCA1A5& H   T
MJ** ,FU\+:;9^)+[7XX'.JWD,=O+/)/)(%C3)"QHS%8P2<ML"[B 6R0,7=2U
M*TT;3[F_O[J&RL;:-II[FXD$<<2*,LS,>   22>E6:9+#'/$T<J+)&PPR.,@
MCT(H \LTS]I3PEXB\'1^(M!BU+78+O5WT/3+2TMU2?4[E<G]P)61=A4,XDD9
M%V*6R!C,<O[2&BR6-C_9WA[Q!K.N3F[^T>'[*"#[;8I:LJW+SEYEB"HSQK\L
MC%S(OEAQDCCY/AAXNT$Q^(+31#JE[I/Q O\ Q!'I$-U"DM[8W$<L!,3.ZQK(
M%FWA9&3.PJ2N:R- ^'GCWP)XQN?'\'A";6KKQ"-5AO- MK^U2ZTX3R0R6SL\
MDJQ. ("LH20E2Z[?, . #TFU_:6\)7WB+2]/MX]0DTZ_C@/]NF.-+*WEFADG
MB@EW2"57,<18D1E%R S Y ]#\+^(8O%?A^QUBWMKFUM[V,311W:!)=A^ZQ4$
MXW## 'D C(!R!X7_ ,,W>7X*\%Z5_9%E)XCBM4M-4UOS,QP1(DC% I(WEFD,
M0?9D(S\C@'I?V<=$^(&B:=JT7C87\482TCMX=3NX;F0W"QD74L31.P6W=O+\
MM&VL-KY5<@4 >R4444 %9?ASPSIGA+3/[/TFT6SM/.EN&0,6+RRR-)+(S,26
M9G=F+$DDL2:U** "N4^+'_)+O%W_ &";K_T4U=77*?%C_DEWB[_L$W7_ **:
M@"'X-?\ )(_!?_8&M/\ T2M=C7'?!K_DD?@O_L#6G_HE:[&@ HHHH **** "
MBBB@#R']F'_D1?$7_8W^(/\ TYW%>O5Y#^S#_P B+XB_[&_Q!_Z<[BO7J "B
MBB@ HHHH \>_:B^'=EXV^&EW>)X=CUWQ)IH3^RI%M/M%S;&2>$3&'@LI*)@E
M>=H(Z$UYU\2-&UF'6/BSX27P[K-_J/C?4M.OM&U2UTV::S\L6]M"XEN44QVY
MA:V=L2LA(=2FXG ^IJ* /DWPGX3U#5X?"/PUU3PSK(N?#_B+5+K6;VZTV>/3
MKFRF>Z99([LJ(I?.6Y3*(Y=27#JI4U1\3>#O$7PFUB36_"MKXBN;.RNVTXZK
M=:1-J]\["S($RVT,89XRT5O;K(J8 +L3@[J^P** ,SPO=:E?>&M)N=9M$T_5
MYK2&2]M(WWK!.4!D0-W"L2,]\5IT44 %%%% !1110!Y#X/\ ^3H/B5_V+^A_
M^C+ZO7J\A\'_ /)T'Q*_[%_0_P#T9?5Z]0 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !7A_P"T
MCK5OX6\5?!S7K^.Z.EZ;XIFENY[6UEN/)1M*OHU9EC5B 7=5SCJPKW"D(!ZC
M/UH \E_X:H^'7_02U+_P27O_ ,9H_P"&J/AU_P!!+4O_  27O_QFO6=B_P!T
M?E1L7^Z/RH \F_X:H^'7_02U+_P27O\ \9H_X:H^'7_02U+_ ,$E[_\ &:]9
MV+_='Y4;%_NC\J /)O\ AJCX=?\ 02U+_P $E[_\9H_X:H^'7_02U+_P27O_
M ,9KUG8O]T?E1L7^Z/RH \F_X:H^'7_02U+_ ,$E[_\ &:/^&J/AU_T$M2_\
M$E[_ /&:]9V+_='Y4;%_NC\J /)O^&J/AU_T$M2_\$E[_P#&:/\ AJCX=?\
M02U+_P $E[_\9KUG8O\ ='Y4;%_NC\J /)O^&J/AU_T$M2_\$E[_ /&:/^&J
M/AU_T$M2_P#!)>__ !FO6=B_W1^5&Q?[H_*@#R;_ (:H^'7_ $$M2_\ !)>_
M_&:/^&J/AU_T$M2_\$E[_P#&:]9V+_='Y4;%_NC\J /)O^&J/AU_T$M2_P#!
M)>__ !FC_AJCX=?]!+4O_!)>_P#QFO6=B_W1^5&Q?[H_*@#YE^./QS\)_$/P
M59Z#X?EU._U6YUW2&C@&CW:9":A;NQ+-$  %4DDGH*^G*;L4?PC\J=0 4444
M %%%% !1110 5\]Z)\4?!W@#]H+XJ0>)O%.C^'Y[A=,>&/4[Z.W:11;L"5#D
M9&:^A*H7F@:7J,WG7>FVEU,1CS)H%=L>F2* .'_X:2^%'_12?"G_ (.+?_XN
MC_AI+X4?]%)\*?\ @XM__BZ['_A$="_Z NG?^ L?^%'_  B.A?\ 0%T[_P !
M8_\ "@#CO^&DOA1_T4GPI_X.+?\ ^+H_X:2^%'_12?"G_@XM_P#XNNQ_X1'0
MO^@+IW_@+'_A1_PB.A?] 73O_ 6/_"@#CO\ AI+X4?\ 12?"G_@XM_\ XNC_
M (:2^%'_ $4GPI_X.+?_ .+KL?\ A$="_P"@+IW_ ("Q_P"%'_"(Z%_T!=._
M\!8_\* .._X:2^%'_12?"G_@XM__ (NC_AI+X4?]%)\*?^#BW_\ BZ['_A$=
M"_Z NG?^ L?^%'_"(Z%_T!=._P# 6/\ PH X[_AI+X4?]%)\*?\ @XM__BZ/
M^&DOA1_T4GPI_P"#BW_^+KL?^$1T+_H"Z=_X"Q_X4?\ "(Z%_P! 73O_  %C
M_P * .._X:2^%'_12?"G_@XM_P#XNC_AI+X4?]%)\*?^#BW_ /BZ['_A$="_
MZ NG?^ L?^%'_"(Z%_T!=._\!8_\* .._P"&DOA1_P!%)\*?^#BW_P#BZ/\
MAI+X4?\ 12?"G_@XM_\ XNNQ_P"$1T+_ * NG?\ @+'_ (4?\(CH7_0%T[_P
M%C_PH X[_AI+X4?]%)\*?^#BW_\ BZYCXG_M$?"V]^&_BJWM_B+X7FGETNY2
M../5X"S,8F   ;DDUZQ_PB.A?] 73O\ P%C_ ,*/^$1T+_H"Z=_X"Q_X4 8G
MP:_Y)'X+_P"P-:?^B5KL::B+&BHBA548"@8 %.H **** "BBB@ HHHH \:_9
MEO;>'P1XB22>)&'B_P 095G /_(3N*]<_M*T_P"?J#_OX/\ &O.]6_9C^$>O
M:K>:GJ7PT\*WVH7DK3W%U/I$#R32,<L[,5R2222353_ADWX+?]$J\'_^"6W_
M /B: /3_ .TK3_GZ@_[^#_&C^TK3_GZ@_P"_@_QKS#_ADWX+?]$J\'_^"6W_
M /B:/^&3?@M_T2KP?_X);?\ ^)H ]/\ [2M/^?J#_OX/\:/[2M/^?J#_ +^#
M_&O,/^&3?@M_T2KP?_X);?\ ^)H_X9-^"W_1*O!__@EM_P#XF@#T_P#M*T_Y
M^H/^_@_QH_M*T_Y^H/\ OX/\:\P_X9-^"W_1*O!__@EM_P#XFC_ADWX+?]$J
M\'_^"6W_ /B: /3_ .TK3_GZ@_[^#_&C^TK3_GZ@_P"_@_QKS#_ADWX+?]$J
M\'_^"6W_ /B:/^&3?@M_T2KP?_X);?\ ^)H ]/\ [2M/^?J#_OX/\:/[2M/^
M?J#_ +^#_&O,/^&3?@M_T2KP?_X);?\ ^)H_X9-^"W_1*O!__@EM_P#XF@#T
M_P#M*T_Y^H/^_@_QH_M*T_Y^H/\ OX/\:\P_X9-^"W_1*O!__@EM_P#XFC_A
MDWX+?]$J\'_^"6W_ /B: /3_ .TK3_GZ@_[^#_&C^TK3_GZ@_P"_@_QKS#_A
MDWX+?]$J\'_^"6W_ /B:/^&3?@M_T2KP?_X);?\ ^)H K>"IHY_VG?B4T<BR
M+_8&AC*'(_UE]7L-<GX$^$_@OX7B\'A#PIH_AD7I4W/]E64=OYVW.W=L SC)
MQGU-=90 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
I110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110!_]D!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>10
<FILENAME>cwco-20221231.xsd
<DESCRIPTION>EX-101.SCH
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  10.2.0.4 -->
<!--Based on XBRL 2.1-->
<!--Created on: 3/30/2023 5:53:40 PM-->
<!--Modified on: 3/30/2023 5:53:40 PM-->
<xsd:schema xmlns:us-gaap="http://fasb.org/us-gaap/2022" xmlns:sic="http://xbrl.sec.gov/sic/2022" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:stpr="http://xbrl.sec.gov/stpr/2022" xmlns:naics="http://xbrl.sec.gov/naics/2022" xmlns:country="http://xbrl.sec.gov/country/2022" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:srt="http://fasb.org/srt/2022" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:currency="http://xbrl.sec.gov/currency/2022" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:exch="http://xbrl.sec.gov/exch/2022" xmlns:us-types="http://fasb.org/us-types/2022" targetNamespace="http://www.cwco.com/20221231" elementFormDefault="qualified" xmlns:srt-types="http://fasb.org/srt-types/2022" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:cwco="http://www.cwco.com/20221231" xmlns:enum2="http://xbrl.org/2020/extensible-enumerations-2.0" xmlns:us-roles="http://fasb.org/us-roles/2022" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:srt-roles="http://fasb.org/srt-roles/2022" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:negated="http://www.xbrl.org/2009/role/negated" xmlns:attributeFormDefault="unqualified" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:deprecated="http://www.xbrl.org/2009/role/deprecated" xmlns:net="http://www.xbrl.org/2009/role/net" xmlns:dei="http://xbrl.sec.gov/dei/2022" xmlns:dtr="http://www.xbrl.org/2009/dtr" xmlns:cef="http://xbrl.sec.gov/cef/2022" xmlns:xbrldi="http://xbrl.org/2006/xbrldi">
  <xsd:annotation>
    <xsd:appinfo>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureStandardAndCustomAxisDomainDefaults" id="DisclosureStandardAndCustomAxisDomainDefaults">
        <link:definition>99900 - Disclosure - Standard And Custom Axis Domain Defaults</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://www.cwco.com/role/StatementConsolidatedBalanceSheets" id="StatementConsolidatedBalanceSheets">
        <link:definition>00100 - Statement - CONSOLIDATED BALANCE SHEETS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome" id="StatementConsolidatedStatementsOfIncome">
        <link:definition>00200 - Statement - CONSOLIDATED STATEMENTS OF INCOME</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureCondensedConsolidatedStatementsOfCashFlowsCalc2" id="DisclosureCondensedConsolidatedStatementsOfCashFlowsCalc2">
        <link:definition>00400 - Disclosure - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Calc 2)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows" id="StatementConsolidatedStatementsOfCashFlows">
        <link:definition>00400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</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://www.cwco.com/role/DisclosureAccountsReceivableNetDetails" id="DisclosureAccountsReceivableNetDetails">
        <link:definition>40401 - Disclosure - Accounts receivable, net (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://www.cwco.com/role/DisclosureContractsInProgressDetails" id="DisclosureContractsInProgressDetails">
        <link:definition>40601 - Disclosure - Contracts in progress (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://www.cwco.com/role/DisclosureContractsInProgressDefaultDetails" id="DisclosureContractsInProgressDefaultDetails">
        <link:definition>40601 - Disclosure - Contracts in progress Default (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://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails" id="DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails">
        <link:definition>40701 - Disclosure - Property, plant and equipment and construction in progress (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://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails" id="DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails">
        <link:definition>40802 - Disclosure - Discontinued operations - Mexico project development (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://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails" id="DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails">
        <link:definition>40901 - Disclosure - Intangible assets - Costs and accumulated amortization (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://www.cwco.com/role/DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails" id="DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails">
        <link:definition>40902 - Disclosure - Intangible assets - Amortization of intangible assets (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://www.cwco.com/role/DisclosureLeasesComponentsOfLeaseCostDetails" id="DisclosureLeasesComponentsOfLeaseCostDetails">
        <link:definition>41002 - Disclosure - Leases - Components of lease cost (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://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails" id="DisclosureLeasesFutureLeasePaymentsDetails">
        <link:definition>41004 - Disclosure - Leases - Future lease payments (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://www.cwco.com/role/DisclosureIncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails" id="DisclosureIncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails">
        <link:definition>41101 - Disclosure - Income taxes - Components of income before income taxes (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://www.cwco.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" id="DisclosureIncomeTaxesProvisionForIncomeTaxesDetails">
        <link:definition>41102 - Disclosure - Income taxes - Provision for income taxes (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://www.cwco.com/role/DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails" id="DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails">
        <link:definition>41103 - Disclosure - Income taxes - Reconciliation of federal tax rate to the effective rate (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://www.cwco.com/role/DisclosureEarningsPerShareDetails" id="DisclosureEarningsPerShareDetails">
        <link:definition>41201 - Disclosure - Earnings per share (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DocumentDocumentAndEntityInformation" id="DocumentDocumentAndEntityInformation">
        <link:definition>00090 - Document - Document and Entity Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/StatementConsolidatedBalanceSheetsParenthetical" id="StatementConsolidatedBalanceSheetsParenthetical">
        <link:definition>00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/StatementConsolidatedStatementsOfIncomeParenthetical" id="StatementConsolidatedStatementsOfIncomeParenthetical">
        <link:definition>00205 - Statement - CONSOLIDATED STATEMENTS OF INCOME (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://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity" id="StatementConsolidatedStatementsOfStockholdersEquity">
        <link:definition>00300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails" id="DisclosureAccountingPoliciesAdditionalInformationDetails">
        <link:definition>40201 - Disclosure - Accounting policies - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureAccountingPoliciesCashAndCashEquivalentsDetails" id="DisclosureAccountingPoliciesCashAndCashEquivalentsDetails">
        <link:definition>40202 - Disclosure - Accounting policies - Cash and cash equivalents (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://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails" id="DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails">
        <link:definition>40203 - Disclosure - Accounting policies - Property, plant and equipment (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://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails" id="DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails">
        <link:definition>40204 - Disclosure - Accounting policies - Goodwill and intangible assets (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://www.cwco.com/role/DisclosureAccountingPoliciesInvestmentsAndOtherAssetsDetails" id="DisclosureAccountingPoliciesInvestmentsAndOtherAssetsDetails">
        <link:definition>40205 - Disclosure - Accounting policies - Investments and Other assets (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://www.cwco.com/role/DisclosureAccountingPoliciesDisaggregatedRevenueDetails" id="DisclosureAccountingPoliciesDisaggregatedRevenueDetails">
        <link:definition>40206 - Disclosure - Accounting policies - Disaggregated revenue (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureCashAndCashEquivalentsDetails" id="DisclosureCashAndCashEquivalentsDetails">
        <link:definition>40301 - Disclosure - Cash and cash equivalents (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://www.cwco.com/role/DisclosureAccountsReceivableNetAllowanceForDoubtfulAccountsDetails" id="DisclosureAccountsReceivableNetAllowanceForDoubtfulAccountsDetails">
        <link:definition>40402 - Disclosure - Accounts receivable, net - Allowance for doubtful accounts (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://www.cwco.com/role/DisclosureInventoryDetails" id="DisclosureInventoryDetails">
        <link:definition>40501 - Disclosure - Inventory (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressAdditionalInformationDetails" id="DisclosurePropertyPlantAndEquipmentAndConstructionInProgressAdditionalInformationDetails">
        <link:definition>40702 - Disclosure - Property, plant and equipment and construction in progress - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails" id="DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails">
        <link:definition>40801 - Disclosure - Discontinued operations - Mexico project development- Narratives (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://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentFinancialInformationDetails" id="DisclosureDiscontinuedOperationsMexicoProjectDevelopmentFinancialInformationDetails">
        <link:definition>40803 - Disclosure - Discontinued operations - Mexico project development - Financial Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureIntangibleAssetsDetails" id="DisclosureIntangibleAssetsDetails">
        <link:definition>40903 - Disclosure - Intangible assets (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://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails" id="DisclosureLeasesLeaseAssetsAndLiabilitiesDetails">
        <link:definition>41001 - Disclosure - Leases - Lease 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://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails" id="DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails">
        <link:definition>41104 - Disclosure - Income taxes - Net long-term deferred tax liability (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://www.cwco.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" id="DisclosureIncomeTaxesAdditionalInformationDetails">
        <link:definition>41105 - Disclosure - Income taxes - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureSegmentInformationDetails" id="DisclosureSegmentInformationDetails">
        <link:definition>41401 - Disclosure - Segment information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureSegmentInformationRevenuesEarnedByMajorGeographicRegionAndMajorCustomerDetails" id="DisclosureSegmentInformationRevenuesEarnedByMajorGeographicRegionAndMajorCustomerDetails">
        <link:definition>41402 - Disclosure - Segment information - Revenues earned by major geographic region and major customer (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://www.cwco.com/role/DisclosureSegmentInformationPropertyPlantAndEquipmentNetByMajorGeographicRegionDetails" id="DisclosureSegmentInformationPropertyPlantAndEquipmentNetByMajorGeographicRegionDetails">
        <link:definition>41403 - Disclosure - Segment information - Property, plant and equipment, net by major geographic region (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://www.cwco.com/role/DisclosureSegmentInformationAdditionalInformationDetails" id="DisclosureSegmentInformationAdditionalInformationDetails">
        <link:definition>41404 - Disclosure - Segment information - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails" id="DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails">
        <link:definition>41501 - Disclosure - Cost of revenues and general and administrative expenses - Cost of revenues (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://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesGeneralAndAdministrativeExpensesDetails" id="DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesGeneralAndAdministrativeExpensesDetails">
        <link:definition>41502 - Disclosure - Cost of revenues and general and administrative expenses - General and administrative expenses (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://www.cwco.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" id="DisclosureStockBasedCompensationStockOptionActivityDetails">
        <link:definition>41602 - Disclosure - Stock-based compensation - Stock option activity (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://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails" id="DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails">
        <link:definition>41603 - Disclosure - Stock-based compensation - Weighted average fair value of options at the date of grant and the intrinsic value of options exercised (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://www.cwco.com/role/DisclosureStockBasedCompensationDetails" id="DisclosureStockBasedCompensationDetails">
        <link:definition>41604 - Disclosure - Stock-based compensation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureRetirementBenefitsDetails" id="DisclosureRetirementBenefitsDetails">
        <link:definition>41701 - Disclosure - Retirement benefits (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://www.cwco.com/role/DisclosureFinancialInstrumentsDetails" id="DisclosureFinancialInstrumentsDetails">
        <link:definition>41801 - Disclosure - Financial instruments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureFinancialInstrumentsAdditionalInformationDetails" id="DisclosureFinancialInstrumentsAdditionalInformationDetails">
        <link:definition>41803 - Disclosure - Financial instruments - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureCommitmentsAndContingenciesDetails" id="DisclosureCommitmentsAndContingenciesDetails">
        <link:definition>41901 - Disclosure - Commitments and contingencies (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://www.cwco.com/role/DisclosureRelatedPartyTransactionsDetails" id="DisclosureRelatedPartyTransactionsDetails">
        <link:definition>42001 - Disclosure - Related party transactions (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://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails" id="DisclosureSupplementalDisclosureOfCashFlowInformationDetails">
        <link:definition>42101 - Disclosure - Supplemental disclosure of cash flow information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureSubsequentEventsDetails" id="DisclosureSubsequentEventsDetails">
        <link:definition>42301 - Disclosure - Subsequent events (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://www.cwco.com/role/DisclosurePrincipalActivity" id="DisclosurePrincipalActivity">
        <link:definition>10101 - Disclosure - Principal activity</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://www.cwco.com/role/DisclosureAccountingPolicies" id="DisclosureAccountingPolicies">
        <link:definition>10201 - Disclosure - Accounting policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureCashAndCashEquivalents" id="DisclosureCashAndCashEquivalents">
        <link:definition>10301 - Disclosure - Cash and cash equivalents</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://www.cwco.com/role/DisclosureAccountsReceivableNet" id="DisclosureAccountsReceivableNet">
        <link:definition>10401 - Disclosure - Accounts receivable, net</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://www.cwco.com/role/DisclosureInventory" id="DisclosureInventory">
        <link:definition>10501 - 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://www.cwco.com/role/DisclosureContractsInProgress" id="DisclosureContractsInProgress">
        <link:definition>10601 - Disclosure - Contracts in progress</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://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgress" id="DisclosurePropertyPlantAndEquipmentAndConstructionInProgress">
        <link:definition>10701 - Disclosure - Property, plant and equipment and construction in progress</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://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopment" id="DisclosureDiscontinuedOperationsMexicoProjectDevelopment">
        <link:definition>10801 - Disclosure - Discontinued operations - Mexico project development</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://www.cwco.com/role/DisclosureIntangibleAssets" id="DisclosureIntangibleAssets">
        <link:definition>10901 - Disclosure - Intangible assets</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://www.cwco.com/role/DisclosureLeases" id="DisclosureLeases">
        <link:definition>11001 - 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://www.cwco.com/role/DisclosureIncomeTaxes" id="DisclosureIncomeTaxes">
        <link:definition>11101 - 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://www.cwco.com/role/DisclosureEarningsPerShare" id="DisclosureEarningsPerShare">
        <link:definition>11201 - Disclosure - Earnings per share</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureDividends" id="DisclosureDividends">
        <link:definition>11301 - Disclosure - Dividends</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://www.cwco.com/role/DisclosureSegmentInformation" id="DisclosureSegmentInformation">
        <link:definition>11401 - Disclosure - Segment information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpenses" id="DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpenses">
        <link:definition>11501 - Disclosure - Cost of revenues and general and administrative expenses</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://www.cwco.com/role/DisclosureStockBasedCompensation" id="DisclosureStockBasedCompensation">
        <link:definition>11601 - 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://www.cwco.com/role/DisclosureRetirementBenefits" id="DisclosureRetirementBenefits">
        <link:definition>11701 - Disclosure - Retirement benefits</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://www.cwco.com/role/DisclosureFinancialInstruments" id="DisclosureFinancialInstruments">
        <link:definition>11801 - Disclosure - Financial instruments</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureContingencies" id="DisclosureContingencies">
        <link:definition>11901 - Disclosure - 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://www.cwco.com/role/DisclosureRelatedPartyTransactions" id="DisclosureRelatedPartyTransactions">
        <link:definition>12001 - Disclosure - Related party transactions</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://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformation" id="DisclosureSupplementalDisclosureOfCashFlowInformation">
        <link:definition>12101 - Disclosure - Supplemental disclosure of cash flow information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureImpactOfRecentAccountingStandards" id="DisclosureImpactOfRecentAccountingStandards">
        <link:definition>12201 - Disclosure - Impact of recent accounting standards</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://www.cwco.com/role/DisclosureSubsequentEvents" id="DisclosureSubsequentEvents">
        <link:definition>12301 - Disclosure - Subsequent events</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://www.cwco.com/role/DisclosureAccountingPoliciesPolicies" id="DisclosureAccountingPoliciesPolicies">
        <link:definition>20202 - Disclosure - Accounting policies (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureAccountingPoliciesTables" id="DisclosureAccountingPoliciesTables">
        <link:definition>30203 - Disclosure - Accounting policies (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureCashAndCashEquivalentsTables" id="DisclosureCashAndCashEquivalentsTables">
        <link:definition>30303 - Disclosure - Cash and cash equivalents (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://www.cwco.com/role/DisclosureAccountsReceivableNetTables" id="DisclosureAccountsReceivableNetTables">
        <link:definition>30403 - Disclosure - Accounts receivable, net (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://www.cwco.com/role/DisclosureInventoryTables" id="DisclosureInventoryTables">
        <link:definition>30503 - 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://www.cwco.com/role/DisclosureContractsInProgressTables" id="DisclosureContractsInProgressTables">
        <link:definition>30603 - Disclosure - Contracts in progress (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://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressTables" id="DisclosurePropertyPlantAndEquipmentAndConstructionInProgressTables">
        <link:definition>30703 - Disclosure - Property, plant and equipment and construction in progress (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://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentTables" id="DisclosureDiscontinuedOperationsMexicoProjectDevelopmentTables">
        <link:definition>30803 - Disclosure - Discontinued operations - Mexico project development (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://www.cwco.com/role/DisclosureIntangibleAssetsTables" id="DisclosureIntangibleAssetsTables">
        <link:definition>30903 - Disclosure - Intangible assets (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://www.cwco.com/role/DisclosureLeasesTables" id="DisclosureLeasesTables">
        <link:definition>31003 - 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://www.cwco.com/role/DisclosureIncomeTaxesTables" id="DisclosureIncomeTaxesTables">
        <link:definition>31103 - Disclosure - Income taxes (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://www.cwco.com/role/DisclosureEarningsPerShareTables" id="DisclosureEarningsPerShareTables">
        <link:definition>31203 - Disclosure - Earnings per share (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureDividendsTables" id="DisclosureDividendsTables">
        <link:definition>31303 - Disclosure - Dividends (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://www.cwco.com/role/DisclosureSegmentInformationTables" id="DisclosureSegmentInformationTables">
        <link:definition>31403 - Disclosure - Segment information (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesTables" id="DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesTables">
        <link:definition>31503 - Disclosure - Cost of revenues and general and administrative expenses (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://www.cwco.com/role/DisclosureStockBasedCompensationTables" id="DisclosureStockBasedCompensationTables">
        <link:definition>31603 - 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://www.cwco.com/role/DisclosureFinancialInstrumentsTables" id="DisclosureFinancialInstrumentsTables">
        <link:definition>31803 - Disclosure - Financial instruments (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationTables" id="DisclosureSupplementalDisclosureOfCashFlowInformationTables">
        <link:definition>32103 - Disclosure - Supplemental disclosure of cash flow information (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails" id="DisclosureLeasesSupplementalCashFlowInformationDetails">
        <link:definition>41003 - Disclosure - Leases - Supplemental cash flow information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.cwco.com/role/DisclosureDividendsDetails" id="DisclosureDividendsDetails">
        <link:definition>41301 - Disclosure - Dividends (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://www.cwco.com/role/DisclosureStockBasedCompensationSignificantWeightedAverageAssumptionsDetails" id="DisclosureStockBasedCompensationSignificantWeightedAverageAssumptionsDetails">
        <link:definition>41601 - Disclosure - Stock-based compensation - Significant weighted average assumptions (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://www.cwco.com/role/DisclosureFinancialInstrumentsLevel3ActivityDetails" id="DisclosureFinancialInstrumentsLevel3ActivityDetails">
        <link:definition>41802 - Disclosure - Financial instruments - Level 3 activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:linkbaseRef xlink:type="simple" xlink:href="cwco-20221231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="cwco-20221231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="cwco-20221231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="cwco-20221231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:import namespace="http://xbrl.sec.gov/dei/2022" schemaLocation="https://xbrl.sec.gov/dei/2022/dei-2022.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
  <xsd:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2009/role/net" schemaLocation="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd" />
  <xsd:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd" />
  <xsd:import namespace="http://fasb.org/us-roles/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd" />
  <xsd:import namespace="http://fasb.org/us-gaap/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd" />
  <xsd:import namespace="http://fasb.org/srt/2022" schemaLocation="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/country/2022" schemaLocation="https://xbrl.sec.gov/country/2022/country-2022.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/currency/2022" schemaLocation="https://xbrl.sec.gov/currency/2022/currency-2022.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/stpr/2022" schemaLocation="https://xbrl.sec.gov/stpr/2022/stpr-2022.xsd" />
  <xsd:element name="DocumentAndEntityInformationAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="cwco_DocumentAndEntityInformationAbstract" substitutionGroup="xbrli:item" />
  <xsd:element id="cwco_ProfitLossFromSubsidiaries" name="ProfitLossFromSubsidiaries" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="cwco_IncomeLossFromDiscontinuedOperations" name="IncomeLossFromDiscontinuedOperations" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="cwco_LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock" name="LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element name="RetailRevenuesMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="cwco_RetailRevenuesMember" substitutionGroup="xbrli:item" />
  <xsd:element name="BulkRevenuesMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="cwco_BulkRevenuesMember" substitutionGroup="xbrli:item" />
  <xsd:element name="ServicesRevenuesMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="cwco_ServicesRevenuesMember" substitutionGroup="xbrli:item" />
  <xsd:element name="ManufacturingRevenuesMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="cwco_ManufacturingRevenuesMember" substitutionGroup="xbrli:item" />
  <xsd:element id="cwco_AerexIndustriesIncMember" name="AerexIndustriesIncMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element name="DepositsHeldInForeignBank" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="cwco_DepositsHeldInForeignBank" substitutionGroup="xbrli:item" xbrli:balance="debit" />
  <xsd:element name="BulkMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="cwco_BulkMember" substitutionGroup="xbrli:item" />
  <xsd:element name="ServicesMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="cwco_ServicesMember" substitutionGroup="xbrli:item" />
  <xsd:element name="ManufacturingUnitsMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="cwco_ManufacturingUnitsMember" substitutionGroup="xbrli:item" />
  <xsd:element id="cwco_IncomeLossFromEquityMethodInvestmentsAndSubsidiaries" name="IncomeLossFromEquityMethodInvestmentsAndSubsidiaries" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element name="AgreementAxis" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="cwco_AgreementAxis" substitutionGroup="xbrldt:dimensionItem" />
  <xsd:element name="AgreementDomain" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="cwco_AgreementDomain" substitutionGroup="xbrli:item" />
  <xsd:element name="PlantAxis" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="cwco_PlantAxis" substitutionGroup="xbrldt:dimensionItem" />
  <xsd:element name="PlantDomain" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="cwco_PlantDomain" substitutionGroup="xbrli:item" />
  <xsd:element name="NSCAguaMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="cwco_NSCAguaMember" substitutionGroup="xbrli:item" />
  <xsd:element name="TypeOfPhasesAxis" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="cwco_TypeOfPhasesAxis" substitutionGroup="xbrldt:dimensionItem" />
  <xsd:element name="TypeOfPhasesDomain" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="cwco_TypeOfPhasesDomain" substitutionGroup="xbrli:item" />
  <xsd:element name="FirstPhaseMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="cwco_FirstPhaseMember" substitutionGroup="xbrli:item" />
  <xsd:element name="SecondPhaseMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="cwco_SecondPhaseMember" substitutionGroup="xbrli:item" />
  <xsd:element name="SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity" type="dtr-types:volumeItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="cwco_SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity" substitutionGroup="xbrli:item" />
  <xsd:element name="AguasDeRosaritoSapiDeCvMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="cwco_AguasDeRosaritoSapiDeCvMember" substitutionGroup="xbrli:item" />
  <xsd:element name="OperatingLeaseRightOfUseAssetNet" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="cwco_OperatingLeaseRightOfUseAssetNet" substitutionGroup="xbrli:item" xbrli:balance="debit" />
  <xsd:element name="OperatingLeaseAssetsCurrent" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="cwco_OperatingLeaseAssetsCurrent" substitutionGroup="xbrli:item" xbrli:balance="debit" />
  <xsd:element name="CommitmentsAndContingenciesTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="cwco_CommitmentsAndContingenciesTable" substitutionGroup="xbrldt:hypercubeItem" />
  <xsd:element id="cwco_CommitmentsAndContingenciesLineItems" name="CommitmentsAndContingenciesLineItems" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element name="CaymanWaterRetailOperationsPercentageOfGrossProfit" type="dtr-types:percentItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="cwco_CaymanWaterRetailOperationsPercentageOfGrossProfit" substitutionGroup="xbrli:item" />
  <xsd:element name="CaymanWaterRetailOperationsPercentageOfRevenue" type="dtr-types:percentItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="cwco_CaymanWaterRetailOperationsPercentageOfRevenue" substitutionGroup="xbrli:item" />
  <xsd:element name="WSCMember" type="dtr-types:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="cwco_WSCMember" substitutionGroup="xbrli:item" />
  <xsd:element id="cwco_PaymentForLandAndRightOfWayHeldForDevelopment" name="PaymentForLandAndRightOfWayHeldForDevelopment" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="cwco_AssetsContinuedOperation" name="AssetsContinuedOperation" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="cwco_DividendsTextBlock" name="DividendsTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract" name="CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock" name="CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_OtherAssetsPolicyTextBlock" name="OtherAssetsPolicyTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" name="ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock" name="CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_PlantAndEquipmentMember" name="PlantAndEquipmentMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_DistributionSystemsMember" name="DistributionSystemsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_LabEquipmentMember" name="LabEquipmentMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_FairValueDeterminingMethodAxis" name="FairValueDeterminingMethodAxis" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_FairValueDeterminingMethodDomain" name="FairValueDeterminingMethodDomain" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_DiscountedCashFlowMethodMember" name="DiscountedCashFlowMethodMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_GuidelinePublicCompanyMethodMember" name="GuidelinePublicCompanyMethodMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_EstimatedFairValuePercentageSegmentReportingInformation" name="EstimatedFairValuePercentageSegmentReportingInformation" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_CapitalizedEngineeringLaborAndMaterialsCostMember" name="CapitalizedEngineeringLaborAndMaterialsCostMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_CashAndRestrictedCashEquivalentsHeldInForeignBank" name="CashAndRestrictedCashEquivalentsHeldInForeignBank" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="cwco_NumberOfDaysAfterConsumptionBillingsAreCollected" name="NumberOfDaysAfterConsumptionBillingsAreCollected" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue" name="NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_AmountRequiredToReduceAmountOfWaterLostByPublicWaterDistributionSystem" name="AmountRequiredToReduceAmountOfWaterLostByPublicWaterDistributionSystem" nillable="true" type="dtr-types:volumeItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_AccountsReceivableTradeCurrent" name="AccountsReceivableTradeCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="cwco_AccountsReceivableOtherCurrent" name="AccountsReceivableOtherCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="cwco_WaterStockMember" name="WaterStockMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_ConsumablesStockMember" name="ConsumablesStockMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_SparePartsStockMember" name="SparePartsStockMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_CapitalCommitments" name="CapitalCommitments" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="cwco_ConstructionInProgressPlacedInService" name="ConstructionInProgressPlacedInService" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="cwco_PeriodInWhichConstructionMustBeCompleted" name="PeriodInWhichConstructionMustBeCompleted" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_PeriodRequiredToOperateAndMaintainPlantAndAqueduct" name="PeriodRequiredToOperateAndMaintainPlantAndAqueduct" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_TradeNameMember" name="TradeNameMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes" name="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="cwco_EffectiveIncomeTaxRateReconciliationPermanentItems" name="EffectiveIncomeTaxRateReconciliationPermanentItems" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_DeferredTaxAssetsLandBasisDifference" name="DeferredTaxAssetsLandBasisDifference" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="cwco_DeferredTaxAssetsStartupCosts" name="DeferredTaxAssetsStartupCosts" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="cwco_DividendsPerShareDeclared" name="DividendsPerShareDeclared" nillable="true" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_WaterAndSewerageCorporationMember" name="WaterAndSewerageCorporationMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_EntityWideRevenuesMajorCustomerPercentage" name="EntityWideRevenuesMajorCustomerPercentage" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable" name="CostOfRevenuesAndGeneralAndAdministrativeExpensesTable" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_DepreciationMember" name="DepreciationMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_FuelOilMember" name="FuelOilMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_EmployeeCostsMember" name="EmployeeCostsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_CostOfPlantSalesMember" name="CostOfPlantSalesMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_RoyaltiesMember" name="RoyaltiesMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_InsuranceMember" name="InsuranceMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems" name="CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_ProfessionalsFeeMember" name="ProfessionalsFeeMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_DirectorsFeesAndExpensesMember" name="DirectorsFeesAndExpensesMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_AmortizationOfIntangiblesMember" name="AmortizationOfIntangiblesMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_OtherCreditDeviceMember" name="OtherCreditDeviceMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_BelowMarketPriceMember" name="BelowMarketPriceMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_AtMarketPriceMember" name="AtMarketPriceMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_AboveMarketPriceMember" name="AboveMarketPriceMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_ManagementEmployeesMember" name="ManagementEmployeesMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_EmployeesMember" name="EmployeesMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_EquityIncentivePlan2008Member" name="EquityIncentivePlan2008Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_CommonStockOptionsMember" name="CommonStockOptionsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_NonExecutiveDirectorsSharePlanMember" name="NonExecutiveDirectorsSharePlanMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_NonperformancebasedGrantsMember" name="NonperformancebasedGrantsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_PerformancebasedGrantsMember" name="PerformancebasedGrantsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonVestedOutstandingWeightedAverageRemainingContractualTerm" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonVestedOutstandingWeightedAverageRemainingContractualTerm" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_AdditionalConsecutiveIndividualRequisiteServicePeriod" name="AdditionalConsecutiveIndividualRequisiteServicePeriod" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_StockholdersEquityNoteConversionRatioPreferredShares" name="StockholdersEquityNoteConversionRatioPreferredShares" nillable="true" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_StockholdersEquityNoteConversionRatioCommonShares" name="StockholdersEquityNoteConversionRatioCommonShares" nillable="true" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_NumberOfDaysOfAverageTradingPriceOfCommonStock" name="NumberOfDaysOfAverageTradingPriceOfCommonStock" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised" name="NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_ClosingPriceOfCommonShares" name="ClosingPriceOfCommonShares" nillable="true" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_RetirementPlanAxis" name="RetirementPlanAxis" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_RetirementPlanDomain" name="RetirementPlanDomain" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_TermOfForeignExchangeRiskToDollarForCertainCurrencies" name="TermOfForeignExchangeRiskToDollarForCertainCurrencies" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_EmploymentAgreementBaseAnnualSalaries" name="EmploymentAgreementBaseAnnualSalaries" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="cwco_SupplementalDisclosureOfCashFlowInformationTable" name="SupplementalDisclosureOfCashFlowInformationTable" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_SupplementalDisclosureOfCashFlowInformationLineItems" name="SupplementalDisclosureOfCashFlowInformationLineItems" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_TransfersBetweenInventoryAndPropertyPlantAndEquipment" name="TransfersBetweenInventoryAndPropertyPlantAndEquipment" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="cwco_NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet" name="NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="cwco_CommonStockIssuedDuringPeriodValueIssuedForServices" name="CommonStockIssuedDuringPeriodValueIssuedForServices" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="cwco_PercWaterCorporationMember" name="PercWaterCorporationMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock" name="ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureTable" name="ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureTable" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" name="ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_ContractWithCustomerAxis" name="ContractWithCustomerAxis" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_ContractWithCustomerDomain" name="ContractWithCustomerDomain" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_ContractWithCustomerAmountBilled" name="ContractWithCustomerAmountBilled" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="cwco_ContractWithCustomerNetOverbillings" name="ContractWithCustomerNetOverbillings" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="cwco_BalanceSheetLocationAbstract" name="BalanceSheetLocationAbstract" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" abstract="true" />
  <xsd:element id="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis" name="DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchDomain" name="DefinedContributionPlanEmployerMatchingContributionPercentOfMatchDomain" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember" name="DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_ManagementContractsMember" name="ManagementContractsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_OneCustomerMember" name="OneCustomerMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_ScheduleOfSupplementalDisclosureOfCashFlowInformation" name="ScheduleOfSupplementalDisclosureOfCashFlowInformation" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_InventoryCurrentAndNoncurrent" name="InventoryCurrentAndNoncurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="cwco_NumberOfDaysToSubmitListOfNonRecoverableExpenses" name="NumberOfDaysToSubmitListOfNonRecoverableExpenses" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_ConstructionInProgress" name="ConstructionInProgress" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrent" name="DisposalGroupIncludingDiscontinuedOperationLeaseCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseNoncurrent" name="DisposalGroupIncludingDiscontinuedOperationLeaseNoncurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities" name="DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="cwco_OperatingLeaseDiscontinuedOperationsPayments" name="OperatingLeaseDiscontinuedOperationsPayments" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="cwco_DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay" name="DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="cwco_MexicoProjectDevelopmentMember" name="MexicoProjectDevelopmentMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_OperatingLeaseLiabilitiesContinuingOperations" name="OperatingLeaseLiabilitiesContinuingOperations" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment" name="DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="cwco_IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset" name="IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="cwco_DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable" name="DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="cwco_SegmentRetailMember" name="SegmentRetailMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_EstimatedFairValueCarryingAmountExceededPercentage" name="EstimatedFairValueCarryingAmountExceededPercentage" nillable="true" type="xbrli:pureItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_CriteriaForRecognizingInvestmentAtCost" name="CriteriaForRecognizingInvestmentAtCost" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="cwco_OperatingLeaseCostsDiscontinuedOperations" name="OperatingLeaseCostsDiscontinuedOperations" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="cwco_ContractWithCustomerRetainage" name="ContractWithCustomerRetainage" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="cwco_DiscontinuedOperationsNonRecoverableExpenses" name="DiscontinuedOperationsNonRecoverableExpenses" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="cwco_GrossProfitMember" name="GrossProfitMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="cwco_NumberOfCustomers" name="NumberOfCustomers" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" />
  <xsd:element id="cwco_PaymentsToAcquireCertificatesOfDeposit" name="PaymentsToAcquireCertificatesOfDeposit" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="cwco_ValueAddedTaxReceivableAllowance" name="ValueAddedTaxReceivableAllowance" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element name="EffectiveIncomeTaxRateReconciliationGoodwillImpairmentPercent" id="cwco_EffectiveIncomeTaxRateReconciliationGoodwillImpairmentPercent" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="OperatingLeaseLiabilityIncludingDiscontinuedOperations" id="cwco_OperatingLeaseLiabilityIncludingDiscontinuedOperations" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="ProvisionForUncollectedValueAddedTaxes" id="cwco_ProvisionForUncollectedValueAddedTaxes" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities" id="cwco_IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="IncreaseDecreaseInContractLiability" id="cwco_IncreaseDecreaseInContractLiability" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities" id="cwco_DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" id="cwco_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="SubcontractorAndOtherProjectCostsMember" id="cwco_SubcontractorAndOtherProjectCostsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="OfficeRentMember" id="cwco_OfficeRentMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>11
<FILENAME>cwco-20221231_cal.xml
<DESCRIPTION>EX-101.CAL
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  10.2.0.4 -->
<!--Based on XBRL 2.1-->
<!--Created on: 3/30/2023 5:53:40 PM-->
<!--Modified on: 3/30/2023 5:53:40 PM-->
<link:linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.cwco.com/role/StatementConsolidatedBalanceSheets" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#StatementConsolidatedStatementsOfIncome" roleURI="http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureCondensedConsolidatedStatementsOfCashFlowsCalc2" roleURI="http://www.cwco.com/role/DisclosureCondensedConsolidatedStatementsOfCashFlowsCalc2" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#StatementConsolidatedStatementsOfCashFlows" roleURI="http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureAccountsReceivableNetDetails" roleURI="http://www.cwco.com/role/DisclosureAccountsReceivableNetDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureContractsInProgressDetails" roleURI="http://www.cwco.com/role/DisclosureContractsInProgressDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails" roleURI="http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails" roleURI="http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails" roleURI="http://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails" roleURI="http://www.cwco.com/role/DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureLeasesComponentsOfLeaseCostDetails" roleURI="http://www.cwco.com/role/DisclosureLeasesComponentsOfLeaseCostDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureLeasesFutureLeasePaymentsDetails" roleURI="http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureIncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails" roleURI="http://www.cwco.com/role/DisclosureIncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" roleURI="http://www.cwco.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails" roleURI="http://www.cwco.com/role/DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureEarningsPerShareDetails" roleURI="http://www.cwco.com/role/DisclosureEarningsPerShareDetails" />
  <calculationLink xlink:role="http://www.cwco.com/role/StatementConsolidatedBalanceSheets" xlink:type="extended" xlink:title="00100 - Statement - CONSOLIDATED BALANCE SHEETS">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638157956164992288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent_638157956164992288" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638157956164992288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638157956164992288" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638157956164992288" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CertificatesOfDepositAtCarryingValue" xlink:label="us-gaap_CertificatesOfDepositAtCarryingValue_638157956164992288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638157956164992288" xlink:to="us-gaap_CertificatesOfDepositAtCarryingValue_638157956164992288" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638157956164992288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638157956164992288" xlink:to="us-gaap_AccountsReceivableNetCurrent_638157956164992288" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet_638157956165002287" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638157956164992288" xlink:to="us-gaap_InventoryNet_638157956165002287" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638157956165002287" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638157956164992288" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638157956165002287" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue_638157956165002287" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638157956164992288" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue_638157956165002287" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_638157956165002287" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638157956164992288" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_638157956165002287" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent" xlink:label="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent_638157956165002287" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638157956164992288" xlink:to="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent_638157956165002287" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_638157956165002287" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638157956165002287" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ConstructionInProgress" xlink:label="cwco_ConstructionInProgress_638157956165002287" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="cwco_ConstructionInProgress_638157956165002287" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNoncurrent" xlink:label="us-gaap_InventoryNoncurrent_638157956165002287" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_InventoryNoncurrent_638157956165002287" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments_638157956165002287" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_EquityMethodInvestments_638157956165002287" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638157956165012304" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_Goodwill_638157956165012304" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_638157956165012304" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_638157956165012304" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638157956165012304" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638157956165012304" order="8" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638157956165012304" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_OtherAssetsNoncurrent_638157956165012304" order="9" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent_638157956165012304" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent_638157956165012304" order="10" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638157956165012304" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities_638157956165012304" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_638157956165012304" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638157956165012304" xlink:to="us-gaap_LiabilitiesCurrent_638157956165012304" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent_638157956165022288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638157956165012304" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent_638157956165022288" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableRelatedPartiesCurrent" xlink:label="us-gaap_AccountsPayableRelatedPartiesCurrent_638157956165022288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638157956165012304" xlink:to="us-gaap_AccountsPayableRelatedPartiesCurrent_638157956165022288" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedEmployeeBenefitsCurrent" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent_638157956165022288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638157956165012304" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent_638157956165022288" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsPayableCurrent" xlink:label="us-gaap_DividendsPayableCurrent_638157956165022288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638157956165012304" xlink:to="us-gaap_DividendsPayableCurrent_638157956165022288" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638157956165022288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638157956165012304" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638157956165022288" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638157956165022288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638157956165012304" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638157956165022288" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeCurrent" xlink:label="us-gaap_DeferredIncomeCurrent_638157956165022288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638157956165012304" xlink:to="us-gaap_DeferredIncomeCurrent_638157956165022288" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent_638157956165032291" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638157956165012304" xlink:to="us-gaap_LongTermDebtCurrent_638157956165032291" order="8" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent_638157956165032291" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638157956165012304" xlink:to="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent_638157956165032291" order="9" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent_638157956165032291" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638157956165012304" xlink:to="us-gaap_LongTermDebtNoncurrent_638157956165032291" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_638157956165032291" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638157956165012304" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638157956165032291" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent_638157956165042310" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638157956165012304" xlink:to="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent_638157956165042310" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638157956165042310" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638157956165012304" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638157956165042310" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_638157956165042310" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638157956165012304" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_638157956165042310" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638157956165042310" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638157956165042310" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638157956165042310" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638157956165042310" xlink:to="us-gaap_StockholdersEquity_638157956165042310" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue_638157956165042310" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638157956165042310" xlink:to="us-gaap_PreferredStockValue_638157956165042310" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_638157956165052295" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638157956165042310" xlink:to="us-gaap_CommonStockValue_638157956165052295" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital_638157956165052295" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638157956165042310" xlink:to="us-gaap_AdditionalPaidInCapital_638157956165052295" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_638157956165052295" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638157956165042310" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_638157956165052295" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest_638157956165052295" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638157956165042310" xlink:to="us-gaap_MinorityInterest_638157956165052295" order="2" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome" xlink:type="extended" xlink:title="00200 - Statement - CONSOLIDATED STATEMENTS OF INCOME">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaap_EarningsPerShareBasic" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:label="us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_638157956165062292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_638157956165062292" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare_638157956165062292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare_638157956165062292" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:label="us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_638157956165062292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_638157956165062292" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare_638157956165062292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare_638157956165062292" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperations" xlink:label="us-gaap_IncomeLossFromContinuingOperations_638157956165062292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeLossFromContinuingOperations_638157956165062292" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_638157956165062292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperations_638157956165062292" xlink:to="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_638157956165062292" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638157956165062292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_638157956165062292" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638157956165062292" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638157956165072289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638157956165062292" xlink:to="us-gaap_OperatingIncomeLoss_638157956165072289" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638157956165072289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_638157956165072289" xlink:to="us-gaap_GrossProfit_638157956165072289" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues_638157956165072289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_638157956165072289" xlink:to="us-gaap_Revenues_638157956165072289" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue_638157956165072289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_638157956165072289" xlink:to="us-gaap_CostOfRevenue_638157956165072289" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense_638157956165072289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_638157956165072289" xlink:to="us-gaap_GeneralAndAdministrativeExpense_638157956165072289" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges" xlink:label="us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges_638157956165072289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_638157956165072289" xlink:to="us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges_638157956165072289" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense_638157956165072289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638157956165062292" xlink:to="us-gaap_NonoperatingIncomeExpense_638157956165072289" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestIncomeOther" xlink:label="us-gaap_InterestIncomeOther_638157956165082302" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638157956165072289" xlink:to="us-gaap_InterestIncomeOther_638157956165082302" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense_638157956165082302" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638157956165072289" xlink:to="us-gaap_InterestExpense_638157956165082302" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ProfitLossFromSubsidiaries" xlink:label="cwco_ProfitLossFromSubsidiaries_638157956165082302" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638157956165072289" xlink:to="cwco_ProfitLossFromSubsidiaries_638157956165082302" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_638157956165082302" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638157956165072289" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_638157956165082302" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_638157956165082302" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638157956165072289" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_638157956165082302" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_638157956165082302" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638157956165072289" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_638157956165082302" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638157956165082302" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_638157956165062292" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638157956165082302" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity" xlink:label="us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity_638157956165082302" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperations_638157956165062292" xlink:to="us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity_638157956165082302" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax" xlink:label="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax_638157956165092295" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax_638157956165092295" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.cwco.com/role/DisclosureCondensedConsolidatedStatementsOfCashFlowsCalc2" xlink:type="extended" xlink:title="00400 - Disclosure - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Calc 2)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638157956165092295" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638157956165092295" order="1" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638157956165092295" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_ProfitLoss_638157956165092295" order="2" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="00400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_637241144211588558" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_638157956165092295" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_637241144211588558" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_638157956165092295" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PaymentsToAcquireCertificatesOfDeposit" xlink:label="cwco_PaymentsToAcquireCertificatesOfDeposit_638157956165092295" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638157956165092295" xlink:to="cwco_PaymentsToAcquireCertificatesOfDeposit_638157956165092295" order="1" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities" xlink:label="us-gaap_ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities_638157956165092295" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638157956165092295" xlink:to="us-gaap_ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities_638157956165092295" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638157956165102292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638157956165092295" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638157956165102292" order="3" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638157956165102292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638157956165092295" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638157956165102292" order="4" use="optional" weight="1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_638157956165102292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_637241144211588558" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_638157956165102292" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="us-gaap_PaymentsOfDividendsCommonStock_638157956165102292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638157956165102292" xlink:to="us-gaap_PaymentsOfDividendsCommonStock_638157956165102292" order="1" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDividendsPreferredStockAndPreferenceStock" xlink:label="us-gaap_PaymentsOfDividendsPreferredStockAndPreferenceStock_638157956165102292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638157956165102292" xlink:to="us-gaap_PaymentsOfDividendsPreferredStockAndPreferenceStock_638157956165102292" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="us-gaap_PaymentsToMinorityShareholders_638157956165102292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638157956165102292" xlink:to="us-gaap_PaymentsToMinorityShareholders_638157956165102292" order="3" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_638157956165102292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638157956165102292" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_638157956165102292" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt_638157956165102292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638157956165102292" xlink:to="us-gaap_RepaymentsOfLongTermDebt_638157956165102292" order="5" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromRepurchaseOfRedeemablePreferredStock" xlink:label="us-gaap_ProceedsFromRepurchaseOfRedeemablePreferredStock_638157956165102292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638157956165102292" xlink:to="us-gaap_ProceedsFromRepurchaseOfRedeemablePreferredStock_638157956165102292" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_638157956165112286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_637241144211588558" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_638157956165112286" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956165112286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638157956165112286" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956165112286" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_638157956165112286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956165112286" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_638157956165112286" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationAndAmortizationDiscontinuedOperations" xlink:label="us-gaap_DepreciationAndAmortizationDiscontinuedOperations_638157956165112286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956165112286" xlink:to="us-gaap_DepreciationAndAmortizationDiscontinuedOperations_638157956165112286" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization_638157956165112286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956165112286" xlink:to="us-gaap_DepreciationAndAmortization_638157956165112286" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses_638157956165112286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956165112286" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses_638157956165112286" order="4" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="us-gaap_GainLossOnDispositionOfAssets1_638157956165112286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956165112286" xlink:to="us-gaap_GainLossOnDispositionOfAssets1_638157956165112286" order="5" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupNotDiscontinuedOperationGainLossOnDisposal" xlink:label="us-gaap_DisposalGroupNotDiscontinuedOperationGainLossOnDisposal_638157956165112286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956165112286" xlink:to="us-gaap_DisposalGroupNotDiscontinuedOperationGainLossOnDisposal_638157956165112286" order="6" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment_638157956165122305" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956165112286" xlink:to="cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment_638157956165122305" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_IncomeLossFromEquityMethodInvestmentsAndSubsidiaries" xlink:label="cwco_IncomeLossFromEquityMethodInvestmentsAndSubsidiaries_638157956165122305" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956165112286" xlink:to="cwco_IncomeLossFromEquityMethodInvestmentsAndSubsidiaries_638157956165122305" order="8" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentDividendsOrDistributions" xlink:label="us-gaap_EquityMethodInvestmentDividendsOrDistributions_638157956165122305" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956165112286" xlink:to="us-gaap_EquityMethodInvestmentDividendsOrDistributions_638157956165122305" order="9" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue_638157956165122305" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956165112286" xlink:to="us-gaap_IncreaseDecreaseInDeferredRevenue_638157956165122305" order="10" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss_638157956165122305" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956165112286" xlink:to="us-gaap_GoodwillImpairmentLoss_638157956165122305" order="11" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_638157956165122305" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956165112286" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_638157956165122305" order="12" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOperatingLiabilities_638157956165132291" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956165112286" xlink:to="us-gaap_IncreaseDecreaseInOperatingLiabilities_638157956165132291" order="13" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset" xlink:label="cwco_IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset_638157956165132291" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956165112286" xlink:to="cwco_IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset_638157956165132291" order="14" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_IncreaseDecreaseInContractLiability" xlink:label="cwco_IncreaseDecreaseInContractLiability_638157956165132291" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956165112286" xlink:to="cwco_IncreaseDecreaseInContractLiability_638157956165132291" order="15" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories_638157956165132291" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956165112286" xlink:to="us-gaap_IncreaseDecreaseInInventories_638157956165132291" order="16" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities" xlink:label="cwco_IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities_638157956165132291" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956165112286" xlink:to="cwco_IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities_638157956165132291" order="17" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638157956165132291" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956165112286" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638157956165132291" order="18" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638157956165132291" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956165112286" xlink:to="us-gaap_ShareBasedCompensation_638157956165132291" order="19" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638157956165142288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956165112286" xlink:to="us-gaap_ProfitLoss_638157956165142288" order="20" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations" xlink:label="us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations_638157956165142288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638157956165112286" xlink:to="us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations_638157956165142288" order="2" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.cwco.com/role/DisclosureAccountsReceivableNetDetails" xlink:type="extended" xlink:title="40401 - Disclosure - Accounts receivable, net (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_637050102263978223" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent_638157956165142288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableNetCurrent_637050102263978223" xlink:to="us-gaap_AccountsReceivableGrossCurrent_638157956165142288" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AccountsReceivableTradeCurrent" xlink:label="cwco_AccountsReceivableTradeCurrent_638157956165142288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableGrossCurrent_638157956165142288" xlink:to="cwco_AccountsReceivableTradeCurrent_638157956165142288" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueFromAffiliateCurrent" xlink:label="us-gaap_DueFromAffiliateCurrent_638157956165142288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableGrossCurrent_638157956165142288" xlink:to="us-gaap_DueFromAffiliateCurrent_638157956165142288" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AccountsReceivableOtherCurrent" xlink:label="cwco_AccountsReceivableOtherCurrent_638157956165152300" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableGrossCurrent_638157956165142288" xlink:to="cwco_AccountsReceivableOtherCurrent_638157956165152300" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638157956165152300" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableNetCurrent_637050102263978223" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638157956165152300" order="2" use="optional" weight="-1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.cwco.com/role/DisclosureContractsInProgressDetails" xlink:type="extended" xlink:title="40601 - Disclosure - Contracts in progress (Details)">
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerNetOverbillings" xlink:label="cwco_ContractWithCustomerNetOverbillings" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerAmountBilled" xlink:label="cwco_ContractWithCustomerAmountBilled_638157956165152300" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="cwco_ContractWithCustomerNetOverbillings" xlink:to="cwco_ContractWithCustomerAmountBilled_638157956165152300" order="1" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerRetainage" xlink:label="cwco_ContractWithCustomerRetainage_638157956165152300" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="cwco_ContractWithCustomerNetOverbillings" xlink:to="cwco_ContractWithCustomerRetainage_638157956165152300" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638157956165152300" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="cwco_ContractWithCustomerNetOverbillings" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638157956165152300" order="3" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails" xlink:type="extended" xlink:title="40701 - Disclosure - Property, plant and equipment and construction in progress (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_637050102264067992" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_638157956165152300" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet_637050102264067992" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_638157956165152300" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_638157956165152300" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet_637050102264067992" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_638157956165152300" order="2" use="optional" weight="-1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails" xlink:type="extended" xlink:title="40802 - Disclosure - Discontinued operations - Mexico project development (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:label="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents_638157956165162283" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents_638157956165162283" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay_638157956165162283" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:to="cwco_DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay_638157956165162283" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets_638157956165162283" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets_638157956165162283" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent_638157956165162283" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent_638157956165162283" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent_638157956165162283" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent_638157956165162283" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable_638157956165162283" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:to="cwco_DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable_638157956165162283" order="6" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails" xlink:type="extended" xlink:title="40901 - Disclosure - Intangible assets - Costs and accumulated amortization (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_637050102265065346" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_638157956165212294" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill_637050102265065346" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_638157956165212294" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638157956165222289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill_637050102265065346" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638157956165222289" order="2" use="optional" weight="-1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.cwco.com/role/DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails" xlink:type="extended" xlink:title="40902 - Disclosure - Intangible assets - Amortization of intangible assets (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_637050102265095255" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638157956165222289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet_637050102265095255" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638157956165222289" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638157956165222289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet_637050102265095255" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638157956165222289" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638157956165222289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet_637050102265095255" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638157956165222289" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638157956165222289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet_637050102265095255" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638157956165222289" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_638157956165222289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet_637050102265095255" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_638157956165222289" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_638157956165222289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet_637050102265095255" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_638157956165222289" order="6" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.cwco.com/role/DisclosureLeasesComponentsOfLeaseCostDetails" xlink:type="extended" xlink:title="41002 - Disclosure - Leases - Components of lease cost (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost" xlink:label="loc_us-gaap_LeaseCost" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost_638157956165232288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LeaseCost" xlink:to="us-gaap_OperatingLeaseCost_638157956165232288" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OperatingLeaseCostsDiscontinuedOperations" xlink:label="cwco_OperatingLeaseCostsDiscontinuedOperations_638157956165232288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LeaseCost" xlink:to="cwco_OperatingLeaseCostsDiscontinuedOperations_638157956165232288" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost_638157956165232288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LeaseCost" xlink:to="us-gaap_ShortTermLeaseCost_638157956165232288" order="3" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails" xlink:type="extended" xlink:title="41004 - Disclosure - Leases - Future lease payments (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638157956165232288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638157956165232288" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638157956165232288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638157956165232288" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638157956165232288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638157956165232288" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638157956165232288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638157956165232288" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_638157956165232288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_638157956165232288" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638157956165242301" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638157956165242301" order="6" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.cwco.com/role/DisclosureIncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails" xlink:type="extended" xlink:title="41101 - Disclosure - Income taxes - Components of income before income taxes (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes" xlink:label="cwco_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes_638157956165242301" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:to="cwco_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes_638157956165242301" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_638157956165242301" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_638157956165242301" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_638157956165242301" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_638157956165242301" order="3" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.cwco.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" xlink:type="extended" xlink:title="41102 - Disclosure - Income taxes - Provision for income taxes (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_637050102265613857" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_638157956165242301" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit_637050102265613857" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_638157956165242301" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_638157956165242301" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit_638157956165242301" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_638157956165242301" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_638157956165242301" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit_638157956165242301" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_638157956165242301" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_638157956165252307" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit_637050102265613857" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_638157956165252307" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_638157956165252307" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxesAndTaxCredits_638157956165252307" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_638157956165252307" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_638157956165252307" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxesAndTaxCredits_638157956165252307" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_638157956165252307" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.cwco.com/role/DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails" xlink:type="extended" xlink:title="41103 - Disclosure - Income taxes - Reconciliation of federal tax rate to the effective rate (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_638157956165252307" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_638157956165252307" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_638157956165252307" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_638157956165252307" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638157956165252307" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638157956165252307" order="3" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_638157956165252307" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_638157956165252307" order="4" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EffectiveIncomeTaxRateReconciliationPermanentItems" xlink:label="cwco_EffectiveIncomeTaxRateReconciliationPermanentItems_638157956165252307" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="cwco_EffectiveIncomeTaxRateReconciliationPermanentItems_638157956165252307" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EffectiveIncomeTaxRateReconciliationGoodwillImpairmentPercent" xlink:label="cwco_EffectiveIncomeTaxRateReconciliationGoodwillImpairmentPercent_638157956165262285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="cwco_EffectiveIncomeTaxRateReconciliationGoodwillImpairmentPercent_638157956165262285" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638157956165262285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638157956165262285" order="7" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.cwco.com/role/DisclosureEarningsPerShareDetails" xlink:type="extended" xlink:title="41201 - Disclosure - Earnings per share (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic" xlink:label="us-gaap_NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic_638157956165262285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="us-gaap_NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic_638157956165262285" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax" xlink:label="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax_638157956165262285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax_638157956165262285" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants" xlink:label="us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants_638157956165262285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants_638157956165262285" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToConversionOfPreferredStock" xlink:label="us-gaap_IncrementalCommonSharesAttributableToConversionOfPreferredStock_638157956165262285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_IncrementalCommonSharesAttributableToConversionOfPreferredStock_638157956165262285" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638157956165262285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638157956165262285" order="3" use="optional" weight="1" priority="2" />
  </calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>12
<FILENAME>cwco-20221231_def.xml
<DESCRIPTION>EX-101.DEF
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  10.2.0.4 -->
<!--Based on XBRL 2.1-->
<!--Created on: 3/30/2023 5:53:40 PM-->
<!--Modified on: 3/30/2023 5:53:40 PM-->
<link:linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.cwco.com/role/StatementConsolidatedBalanceSheets" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#StatementConsolidatedBalanceSheetsParenthetical" roleURI="http://www.cwco.com/role/StatementConsolidatedBalanceSheetsParenthetical" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#StatementConsolidatedStatementsOfIncomeParenthetical" roleURI="http://www.cwco.com/role/StatementConsolidatedStatementsOfIncomeParenthetical" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#StatementConsolidatedStatementsOfStockholdersEquity" roleURI="http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#StatementConsolidatedStatementsOfCashFlows" roleURI="http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureAccountingPoliciesAdditionalInformationDetails" roleURI="http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureAccountingPoliciesCashAndCashEquivalentsDetails" roleURI="http://www.cwco.com/role/DisclosureAccountingPoliciesCashAndCashEquivalentsDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails" roleURI="http://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails" roleURI="http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureAccountingPoliciesInvestmentsAndOtherAssetsDetails" roleURI="http://www.cwco.com/role/DisclosureAccountingPoliciesInvestmentsAndOtherAssetsDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureAccountingPoliciesDisaggregatedRevenueDetails" roleURI="http://www.cwco.com/role/DisclosureAccountingPoliciesDisaggregatedRevenueDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureCashAndCashEquivalentsDetails" roleURI="http://www.cwco.com/role/DisclosureCashAndCashEquivalentsDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureInventoryDetails" roleURI="http://www.cwco.com/role/DisclosureInventoryDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureContractsInProgressDetails" roleURI="http://www.cwco.com/role/DisclosureContractsInProgressDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureContractsInProgressDefaultDetails" roleURI="http://www.cwco.com/role/DisclosureContractsInProgressDefaultDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails" roleURI="http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails" roleURI="http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails" roleURI="http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureDiscontinuedOperationsMexicoProjectDevelopmentFinancialInformationDetails" roleURI="http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentFinancialInformationDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails" roleURI="http://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureIntangibleAssetsDetails" roleURI="http://www.cwco.com/role/DisclosureIntangibleAssetsDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureLeasesLeaseAssetsAndLiabilitiesDetails" roleURI="http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails" roleURI="http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureIncomeTaxesAdditionalInformationDetails" roleURI="http://www.cwco.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureSegmentInformationDetails" roleURI="http://www.cwco.com/role/DisclosureSegmentInformationDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureSegmentInformationRevenuesEarnedByMajorGeographicRegionAndMajorCustomerDetails" roleURI="http://www.cwco.com/role/DisclosureSegmentInformationRevenuesEarnedByMajorGeographicRegionAndMajorCustomerDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureSegmentInformationPropertyPlantAndEquipmentNetByMajorGeographicRegionDetails" roleURI="http://www.cwco.com/role/DisclosureSegmentInformationPropertyPlantAndEquipmentNetByMajorGeographicRegionDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureSegmentInformationAdditionalInformationDetails" roleURI="http://www.cwco.com/role/DisclosureSegmentInformationAdditionalInformationDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails" roleURI="http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesGeneralAndAdministrativeExpensesDetails" roleURI="http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesGeneralAndAdministrativeExpensesDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureStockBasedCompensationStockOptionActivityDetails" roleURI="http://www.cwco.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails" roleURI="http://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureStockBasedCompensationDetails" roleURI="http://www.cwco.com/role/DisclosureStockBasedCompensationDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureRetirementBenefitsDetails" roleURI="http://www.cwco.com/role/DisclosureRetirementBenefitsDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureFinancialInstrumentsDetails" roleURI="http://www.cwco.com/role/DisclosureFinancialInstrumentsDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureFinancialInstrumentsAdditionalInformationDetails" roleURI="http://www.cwco.com/role/DisclosureFinancialInstrumentsAdditionalInformationDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureCommitmentsAndContingenciesDetails" roleURI="http://www.cwco.com/role/DisclosureCommitmentsAndContingenciesDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureRelatedPartyTransactionsDetails" roleURI="http://www.cwco.com/role/DisclosureRelatedPartyTransactionsDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureSupplementalDisclosureOfCashFlowInformationDetails" roleURI="http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureSubsequentEventsDetails" roleURI="http://www.cwco.com/role/DisclosureSubsequentEventsDetails" />
  <link:arcroleRef arcroleURI="http://www.esma.europa.eu/xbrl/esef/arcrole/wider-narrower" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd#wider-narrower" />
  <link:roleRef roleURI="http://www.cwco.com/role/DisclosureStandardAndCustomAxisDomainDefaults" xlink:href="cwco-20221231.xsd#DisclosureStandardAndCustomAxisDomainDefaults" xlink:type="simple" />
  <link:roleRef xlink:type="simple" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd#eedm" roleURI="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" />
  <link:definitionLink xlink:role="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xlink:type="extended" xlink:title="Extensible Enumeration Domain Members">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAbstract" xlink:label="us-gaap_LiabilitiesAbstract_1" xlink:title="us-gaap_LiabilitiesAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_1" xlink:title="us-gaap_OperatingLeaseLiabilityCurrent_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_LiabilitiesAbstract_1" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_LiabilitiesAbstract_1 To us-gaap_OperatingLeaseLiabilityCurrent_1" order="1" priority="0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_1" xlink:title="us-gaap_OperatingLeaseLiabilityNoncurrent_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_LiabilitiesAbstract_1" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_LiabilitiesAbstract_1 To us-gaap_OperatingLeaseLiabilityNoncurrent_1" order="2" priority="0" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cwco.com/role/DisclosureStandardAndCustomAxisDomainDefaults" xlink:type="extended" xlink:title="99900 - Disclosure - Standard And Custom Axis Domain Defaults">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationDocumentAxis" xlink:label="dei_DocumentInformationDocumentAxis_1" xlink:title="dei_DocumentInformationDocumentAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentDomain" xlink:label="dei_DocumentDomain_1" xlink:title="dei_DocumentDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="dei_DocumentInformationDocumentAxis_1" xlink:to="dei_DocumentDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:dei_DocumentInformationDocumentAxis_1 To dei_DocumentDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis_1" xlink:title="us-gaap_StatementClassOfStockAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain_1" xlink:title="us-gaap_ClassOfStockDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementClassOfStockAxis_1" xlink:to="us-gaap_ClassOfStockDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_StatementClassOfStockAxis_1 To us-gaap_ClassOfStockDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis_1" xlink:title="us-gaap_IncomeStatementLocationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain_1" xlink:title="us-gaap_IncomeStatementLocationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeStatementLocationAxis_1" xlink:to="us-gaap_IncomeStatementLocationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_IncomeStatementLocationAxis_1 To us-gaap_IncomeStatementLocationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_1" xlink:title="us-gaap_StatementEquityComponentsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_1" xlink:title="us-gaap_EquityComponentDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementEquityComponentsAxis_1" xlink:to="us-gaap_EquityComponentDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_StatementEquityComponentsAxis_1 To us-gaap_EquityComponentDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_1" xlink:title="dei_LegalEntityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_1" xlink:title="dei_EntityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="dei_LegalEntityAxis_1" xlink:to="dei_EntityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:dei_LegalEntityAxis_1 To dei_EntityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAxis" xlink:label="us-gaap_CashAndCashEquivalentsAxis_1" xlink:title="us-gaap_CashAndCashEquivalentsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_1" xlink:title="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_CashAndCashEquivalentsAxis_1" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_CashAndCashEquivalentsAxis_1 To us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_1" xlink:title="srt_StatementGeographicalAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_1" xlink:title="srt_SegmentGeographicalDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_StatementGeographicalAxis_1" xlink:to="srt_SegmentGeographicalDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_StatementGeographicalAxis_1 To srt_SegmentGeographicalDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_1" xlink:title="srt_ConsolidatedEntitiesAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_1" xlink:title="srt_ConsolidatedEntitiesDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ConsolidatedEntitiesAxis_1" xlink:to="srt_ConsolidatedEntitiesDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ConsolidatedEntitiesAxis_1 To srt_ConsolidatedEntitiesDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis_1" xlink:title="us-gaap_BusinessAcquisitionAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_1" xlink:title="us-gaap_BusinessAcquisitionAcquireeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_BusinessAcquisitionAxis_1" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_BusinessAcquisitionAxis_1 To us-gaap_BusinessAcquisitionAcquireeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_FairValueDeterminingMethodAxis" xlink:label="cwco_FairValueDeterminingMethodAxis_1" xlink:title="cwco_FairValueDeterminingMethodAxis_1" />
    <link:loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_FairValueDeterminingMethodDomain" xlink:label="cwco_FairValueDeterminingMethodDomain_1" xlink:title="cwco_FairValueDeterminingMethodDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="cwco_FairValueDeterminingMethodAxis_1" xlink:to="cwco_FairValueDeterminingMethodDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:cwco_FairValueDeterminingMethodAxis_1 To cwco_FairValueDeterminingMethodDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_1" xlink:title="us-gaap_StatementBusinessSegmentsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_1" xlink:title="us-gaap_SegmentDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementBusinessSegmentsAxis_1" xlink:to="us-gaap_SegmentDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_StatementBusinessSegmentsAxis_1 To us-gaap_SegmentDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_1" xlink:title="us-gaap_ConcentrationRiskByBenchmarkAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_1" xlink:title="us-gaap_ConcentrationRiskBenchmarkDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis_1" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ConcentrationRiskByBenchmarkAxis_1 To us-gaap_ConcentrationRiskBenchmarkDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_1" xlink:title="us-gaap_ConcentrationRiskByTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_1" xlink:title="us-gaap_ConcentrationRiskTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ConcentrationRiskByTypeAxis_1" xlink:to="us-gaap_ConcentrationRiskTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ConcentrationRiskByTypeAxis_1 To us-gaap_ConcentrationRiskTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_1" xlink:title="srt_RangeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_1" xlink:title="srt_RangeMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_RangeAxis_1" xlink:to="srt_RangeMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_RangeAxis_1 To srt_RangeMember_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" xlink:title="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" xlink:title="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_PropertyPlantAndEquipmentByTypeAxis_1 To us-gaap_PropertyPlantAndEquipmentTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CurrencyAxis" xlink:label="srt_CurrencyAxis_1" xlink:title="srt_CurrencyAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_AllCurrenciesDomain" xlink:label="currency_AllCurrenciesDomain_1" xlink:title="currency_AllCurrenciesDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_CurrencyAxis_1" xlink:to="currency_AllCurrenciesDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_CurrencyAxis_1 To currency_AllCurrenciesDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis_1" xlink:title="srt_StatementScenarioAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain_1" xlink:title="srt_ScenarioUnspecifiedDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_StatementScenarioAxis_1" xlink:to="srt_ScenarioUnspecifiedDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_StatementScenarioAxis_1 To srt_ScenarioUnspecifiedDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis_1" xlink:title="srt_OwnershipAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_1" xlink:title="srt_OwnershipDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_OwnershipAxis_1" xlink:to="srt_OwnershipDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_OwnershipAxis_1 To srt_OwnershipDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_TypeOfPhasesAxis" xlink:label="cwco_TypeOfPhasesAxis_1" xlink:title="cwco_TypeOfPhasesAxis_1" />
    <link:loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_TypeOfPhasesDomain" xlink:label="cwco_TypeOfPhasesDomain_1" xlink:title="cwco_TypeOfPhasesDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="cwco_TypeOfPhasesAxis_1" xlink:to="cwco_TypeOfPhasesDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:cwco_TypeOfPhasesAxis_1 To cwco_TypeOfPhasesDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_1" xlink:title="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain_1" xlink:title="srt_EquityMethodInvesteeNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_1" xlink:to="srt_EquityMethodInvesteeNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_1 To srt_EquityMethodInvesteeNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis_1" xlink:title="us-gaap_SubsequentEventTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain_1" xlink:title="us-gaap_SubsequentEventTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_SubsequentEventTypeAxis_1" xlink:to="us-gaap_SubsequentEventTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_SubsequentEventTypeAxis_1 To us-gaap_SubsequentEventTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="us-gaap_DisposalGroupClassificationAxis_1" xlink:title="us-gaap_DisposalGroupClassificationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="us-gaap_DisposalGroupClassificationDomain_1" xlink:title="us-gaap_DisposalGroupClassificationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_DisposalGroupClassificationAxis_1" xlink:to="us-gaap_DisposalGroupClassificationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_DisposalGroupClassificationAxis_1 To us-gaap_DisposalGroupClassificationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_1" xlink:title="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_1" xlink:title="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_1" xlink:to="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_1 To us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerAxis" xlink:label="cwco_ContractWithCustomerAxis_1" xlink:title="cwco_ContractWithCustomerAxis_1" />
    <link:loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerDomain" xlink:label="cwco_ContractWithCustomerDomain_1" xlink:title="cwco_ContractWithCustomerDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="cwco_ContractWithCustomerAxis_1" xlink:to="cwco_ContractWithCustomerDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:cwco_ContractWithCustomerAxis_1 To cwco_ContractWithCustomerDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_1" xlink:title="us-gaap_BalanceSheetLocationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_1" xlink:title="us-gaap_BalanceSheetLocationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_BalanceSheetLocationAxis_1" xlink:to="us-gaap_BalanceSheetLocationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_BalanceSheetLocationAxis_1 To us-gaap_BalanceSheetLocationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="us-gaap_FairValueByAssetClassAxis_1" xlink:title="us-gaap_FairValueByAssetClassAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_1" xlink:title="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FairValueByAssetClassAxis_1" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FairValueByAssetClassAxis_1 To us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_1" xlink:title="us-gaap_FairValueByFairValueHierarchyLevelAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" xlink:title="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis_1" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FairValueByFairValueHierarchyLevelAxis_1 To us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByLiabilityClassAxis" xlink:label="us-gaap_FairValueByLiabilityClassAxis_1" xlink:title="us-gaap_FairValueByLiabilityClassAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain_1" xlink:title="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FairValueByLiabilityClassAxis_1" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FairValueByLiabilityClassAxis_1 To us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PublicUtilityAxis" xlink:label="us-gaap_PublicUtilityAxis_1" xlink:title="us-gaap_PublicUtilityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UtilityPlantDomain" xlink:label="us-gaap_UtilityPlantDomain_1" xlink:title="us-gaap_UtilityPlantDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_PublicUtilityAxis_1" xlink:to="us-gaap_UtilityPlantDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_PublicUtilityAxis_1 To us-gaap_UtilityPlantDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis_1" xlink:title="srt_MajorCustomersAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_1" xlink:title="srt_NameOfMajorCustomerDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_MajorCustomersAxis_1" xlink:to="srt_NameOfMajorCustomerDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_MajorCustomersAxis_1 To srt_NameOfMajorCustomerDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" xlink:title="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" xlink:title="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1 To us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" xlink:title="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain_1" xlink:title="us-gaap_RelatedPartyDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" xlink:to="us-gaap_RelatedPartyDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1 To us-gaap_RelatedPartyDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_1" xlink:title="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_1" xlink:title="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_1" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_1 To us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis_1" xlink:title="us-gaap_FinancialInstrumentAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_1" xlink:title="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FinancialInstrumentAxis_1" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FinancialInstrumentAxis_1 To us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OptionIndexedToIssuersEquityTypeAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeAxis_1" xlink:title="us-gaap_OptionIndexedToIssuersEquityTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_1" xlink:title="us-gaap_OptionIndexedToIssuersEquityTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeAxis_1" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_OptionIndexedToIssuersEquityTypeAxis_1 To us-gaap_OptionIndexedToIssuersEquityTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_1" xlink:title="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_1" xlink:title="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_1" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_1 To us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis_1" xlink:title="srt_TitleOfIndividualAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_1" xlink:title="srt_TitleOfIndividualWithRelationshipToEntityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_TitleOfIndividualAxis_1" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_TitleOfIndividualAxis_1 To srt_TitleOfIndividualWithRelationshipToEntityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_1" xlink:title="us-gaap_AwardTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" xlink:title="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AwardTypeAxis_1" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AwardTypeAxis_1 To us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_RetirementPlanAxis" xlink:label="cwco_RetirementPlanAxis_1" xlink:title="cwco_RetirementPlanAxis_1" />
    <link:loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_RetirementPlanDomain" xlink:label="cwco_RetirementPlanDomain_1" xlink:title="cwco_RetirementPlanDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="cwco_RetirementPlanAxis_1" xlink:to="cwco_RetirementPlanDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:cwco_RetirementPlanAxis_1 To cwco_RetirementPlanDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis" xlink:label="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis_1" xlink:title="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis_1" />
    <link:loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchDomain" xlink:label="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchDomain_1" xlink:title="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis_1" xlink:to="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis_1 To cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis_1" xlink:title="us-gaap_CreditFacilityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_1" xlink:title="us-gaap_CreditFacilityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_CreditFacilityAxis_1" xlink:to="us-gaap_CreditFacilityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_CreditFacilityAxis_1 To us-gaap_CreditFacilityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis" xlink:label="us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_1" xlink:title="us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReceivableTypeDomain" xlink:label="us-gaap_ReceivableTypeDomain_1" xlink:title="us-gaap_ReceivableTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_1" xlink:to="us-gaap_ReceivableTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_1 To us-gaap_ReceivableTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis" xlink:label="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis_1" xlink:title="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain" xlink:label="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain_1" xlink:title="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis_1" xlink:to="us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeAxis_1 To us-gaap_EquityMethodInvestmentNonconsolidatedInvesteeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AgreementAxis" xlink:label="cwco_AgreementAxis_1" xlink:title="cwco_AgreementAxis_1" />
    <link:loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AgreementDomain" xlink:label="cwco_AgreementDomain_1" xlink:title="cwco_AgreementDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="cwco_AgreementAxis_1" xlink:to="cwco_AgreementDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:cwco_AgreementAxis_1 To cwco_AgreementDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_1" xlink:title="srt_ProductOrServiceAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_1" xlink:title="srt_ProductsAndServicesDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ProductOrServiceAxis_1" xlink:to="srt_ProductsAndServicesDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ProductOrServiceAxis_1 To srt_ProductsAndServicesDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PlantAxis" xlink:label="cwco_PlantAxis_1" xlink:title="cwco_PlantAxis_1" />
    <link:loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PlantDomain" xlink:label="cwco_PlantDomain_1" xlink:title="cwco_PlantDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="cwco_PlantAxis_1" xlink:to="cwco_PlantDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:cwco_PlantAxis_1 To cwco_PlantDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="us-gaap_ShortTermDebtTypeAxis_1" xlink:title="us-gaap_ShortTermDebtTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="us-gaap_ShortTermDebtTypeDomain_1" xlink:title="us-gaap_ShortTermDebtTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ShortTermDebtTypeAxis_1" xlink:to="us-gaap_ShortTermDebtTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ShortTermDebtTypeAxis_1 To us-gaap_ShortTermDebtTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis_1" xlink:title="us-gaap_LossContingenciesByNatureOfContingencyAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain_1" xlink:title="us-gaap_LossContingencyNatureDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis_1" xlink:to="us-gaap_LossContingencyNatureDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_LossContingenciesByNatureOfContingencyAxis_1 To us-gaap_LossContingencyNatureDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" xlink:title="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember_1" xlink:title="us-gaap_TypeOfAdoptionMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" xlink:to="us-gaap_TypeOfAdoptionMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1 To us-gaap_TypeOfAdoptionMember_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:label="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis_1" xlink:title="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityInterestIssuedOrIssuableTypeDomain" xlink:label="us-gaap_EquityInterestIssuedOrIssuableTypeDomain_1" xlink:title="us-gaap_EquityInterestIssuedOrIssuableTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis_1" xlink:to="us-gaap_EquityInterestIssuedOrIssuableTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_EquityInterestIssuedOrIssuableByTypeAxis_1 To us-gaap_EquityInterestIssuedOrIssuableTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis_1" xlink:title="us-gaap_IncomeTaxAuthorityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_1" xlink:title="us-gaap_IncomeTaxAuthorityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeTaxAuthorityAxis_1" xlink:to="us-gaap_IncomeTaxAuthorityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_IncomeTaxAuthorityAxis_1 To us-gaap_IncomeTaxAuthorityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis_1" xlink:title="us-gaap_FairValueByMeasurementFrequencyAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain_1" xlink:title="us-gaap_FairValueMeasurementFrequencyDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis_1" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FairValueByMeasurementFrequencyAxis_1 To us-gaap_FairValueMeasurementFrequencyDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis_1" xlink:title="us-gaap_TypeOfArrangementAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember_1" xlink:title="us-gaap_ArrangementsAndNonarrangementTransactionsMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_TypeOfArrangementAxis_1" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_TypeOfArrangementAxis_1 To us-gaap_ArrangementsAndNonarrangementTransactionsMember_1" order="1" />
  </link:definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/StatementConsolidatedBalanceSheets" xlink:type="extended" xlink:title="00100 - Statement - CONSOLIDATED BALANCE SHEETS">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonClassAMember" xlink:label="us-gaap_CommonClassAMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_CommonClassAMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonClassBMember" xlink:label="us-gaap_CommonClassBMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_CommonClassBMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsCurrentAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CertificatesOfDepositAtCarryingValue" xlink:label="us-gaap_CertificatesOfDepositAtCarryingValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CertificatesOfDepositAtCarryingValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent" xlink:label="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ConstructionInProgress" xlink:label="cwco_ConstructionInProgress" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AssetsAbstract" xlink:to="cwco_ConstructionInProgress" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNoncurrent" xlink:label="us-gaap_InventoryNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_InventoryNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_EquityMethodInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_Goodwill" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_Assets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableRelatedPartiesCurrent" xlink:label="us-gaap_AccountsPayableRelatedPartiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableRelatedPartiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedEmployeeBenefitsCurrent" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsPayableCurrent" xlink:label="us-gaap_DividendsPayableCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_DividendsPayableCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LongTermDebtCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeCurrent" xlink:label="us-gaap_DeferredIncomeCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_DeferredIncomeCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LongTermDebtNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_Liabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_CommitmentsAndContingencies" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_StockholdersEquityAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_PreferredStockValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommonStockValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AdditionalPaidInCapital" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_MinorityInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/StatementConsolidatedBalanceSheetsParenthetical" xlink:type="extended" xlink:title="00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonClassAMember" xlink:label="us-gaap_CommonClassAMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_CommonClassAMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonClassBMember" xlink:label="us-gaap_CommonClassBMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_CommonClassBMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesAuthorized" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesIssued" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesOutstanding" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesAuthorized" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesIssued" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/StatementConsolidatedStatementsOfIncomeParenthetical" xlink:type="extended" xlink:title="00205 - Statement - CONSOLIDATED STATEMENTS OF INCOME (Parenthetical)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_CostOfSalesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity" xlink:type="extended" xlink:title="00300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RedeemablePreferredStockMember" xlink:label="us-gaap_RedeemablePreferredStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_RedeemablePreferredStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockMember" xlink:label="us-gaap_PreferredStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_PreferredStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_NoncontrollingInterestMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRedeemedOrCalledDuringPeriodValue" xlink:label="us-gaap_StockRedeemedOrCalledDuringPeriodValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRedeemedOrCalledDuringPeriodValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRedeemedOrCalledDuringPeriodShares" xlink:label="us-gaap_StockRedeemedOrCalledDuringPeriodShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRedeemedOrCalledDuringPeriodShares" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProfitLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsCash" xlink:label="us-gaap_DividendsCash" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DividendsCash" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="00400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RedeemablePreferredStockMember" xlink:label="us-gaap_RedeemablePreferredStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_RedeemablePreferredStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_CommonStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetIncomeLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ProfitLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationAndAmortizationDiscontinuedOperations" xlink:label="us-gaap_DepreciationAndAmortizationDiscontinuedOperations" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DepreciationAndAmortizationDiscontinuedOperations" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupNotDiscontinuedOperationGainLossOnDisposal" xlink:label="us-gaap_DisposalGroupNotDiscontinuedOperationGainLossOnDisposal" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DisposalGroupNotDiscontinuedOperationGainLossOnDisposal" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DepreciationAndAmortization" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnSaleOfDerivatives" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="us-gaap_GainLossOnDispositionOfAssets1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnDispositionOfAssets1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_IncomeLossFromEquityMethodInvestmentsAndSubsidiaries" xlink:label="cwco_IncomeLossFromEquityMethodInvestmentsAndSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="cwco_IncomeLossFromEquityMethodInvestmentsAndSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentDividendsOrDistributions" xlink:label="us-gaap_EquityMethodInvestmentDividendsOrDistributions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_EquityMethodInvestmentDividendsOrDistributions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GoodwillImpairmentLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset" xlink:label="cwco_IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="cwco_IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities" xlink:label="cwco_IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="cwco_IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_IncreaseDecreaseInContractLiability" xlink:label="cwco_IncreaseDecreaseInContractLiability" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="cwco_IncreaseDecreaseInContractLiability" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOperatingLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingLiabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInDeferredRevenue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations" xlink:label="us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PaymentsToAcquireCertificatesOfDeposit" xlink:label="cwco_PaymentsToAcquireCertificatesOfDeposit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="cwco_PaymentsToAcquireCertificatesOfDeposit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities" xlink:label="us-gaap_ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="us-gaap_PaymentsOfDividendsCommonStock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfDividendsCommonStock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDividendsPreferredStockAndPreferenceStock" xlink:label="us-gaap_PaymentsOfDividendsPreferredStockAndPreferenceStock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfDividendsPreferredStockAndPreferenceStock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="us-gaap_PaymentsToMinorityShareholders" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsToMinorityShareholders" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromRepurchaseOfRedeemablePreferredStock" xlink:label="us-gaap_ProceedsFromRepurchaseOfRedeemablePreferredStock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromRepurchaseOfRedeemablePreferredStock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfLongTermDebt" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssued1" xlink:label="us-gaap_StockIssued1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_StockIssued1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConversionOfStockAmountConverted1" xlink:label="us-gaap_ConversionOfStockAmountConverted1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_ConversionOfStockAmountConverted1" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails" xlink:type="extended" xlink:title="40201 - Disclosure - Accounting policies - Additional Information (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AerexIndustriesIncMember" xlink:label="cwco_AerexIndustriesIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="cwco_AerexIndustriesIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PercWaterCorporationMember" xlink:label="cwco_PercWaterCorporationMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="cwco_PercWaterCorporationMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_StatementTable" xlink:to="srt_OwnershipAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipDomain" use="optional" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_OwnershipDomain" xlink:to="cwco_PercWaterCorporationMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_GrossProfitMember" xlink:label="cwco_GrossProfitMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="cwco_GrossProfitMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="5" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsequentEventTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestCostsCapitalized" xlink:label="us-gaap_InterestCostsCapitalized" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InterestCostsCapitalized" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NumberOfCustomers" xlink:label="cwco_NumberOfCustomers" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_StatementLineItems" xlink:to="cwco_NumberOfCustomers" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureAccountingPoliciesCashAndCashEquivalentsDetails" xlink:type="extended" xlink:title="40202 - Disclosure - Accounting policies - Cash and cash equivalents (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAxis" xlink:label="us-gaap_CashAndCashEquivalentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CashAndCashEquivalentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CertificatesOfDepositMember" xlink:label="us-gaap_CertificatesOfDepositMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="us-gaap_CertificatesOfDepositMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_BS" xlink:label="country_BS" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_BS" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashEquivalentsAtCarryingValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:to="us-gaap_CashEquivalentsAtCarryingValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashUninsuredAmount" xlink:label="us-gaap_CashUninsuredAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:to="us-gaap_CashUninsuredAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CashAndRestrictedCashEquivalentsHeldInForeignBank" xlink:label="cwco_CashAndRestrictedCashEquivalentsHeldInForeignBank" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:to="cwco_CashAndRestrictedCashEquivalentsHeldInForeignBank" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DepositsHeldInForeignBank" xlink:label="cwco_DepositsHeldInForeignBank" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:to="cwco_DepositsHeldInForeignBank" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails" xlink:type="extended" xlink:title="40203 - Disclosure - Accounting policies - Property, plant and equipment (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PlantAndEquipmentMember" xlink:label="cwco_PlantAndEquipmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="cwco_PlantAndEquipmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DistributionSystemsMember" xlink:label="cwco_DistributionSystemsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="cwco_DistributionSystemsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_FurnitureAndFixturesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_VehiclesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LeaseholdImprovementsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_LabEquipmentMember" xlink:label="cwco_LabEquipmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="cwco_LabEquipmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives" xlink:label="us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails" xlink:type="extended" xlink:title="40204 - Disclosure - Accounting policies - Goodwill and intangible assets (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AerexIndustriesIncMember" xlink:label="cwco_AerexIndustriesIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="cwco_AerexIndustriesIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_FairValueDeterminingMethodAxis" xlink:label="cwco_FairValueDeterminingMethodAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_StatementTable" xlink:to="cwco_FairValueDeterminingMethodAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_FairValueDeterminingMethodDomain" xlink:label="cwco_FairValueDeterminingMethodDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="cwco_FairValueDeterminingMethodAxis" xlink:to="cwco_FairValueDeterminingMethodDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DiscountedCashFlowMethodMember" xlink:label="cwco_DiscountedCashFlowMethodMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="cwco_FairValueDeterminingMethodDomain" xlink:to="cwco_DiscountedCashFlowMethodMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_GuidelinePublicCompanyMethodMember" xlink:label="cwco_GuidelinePublicCompanyMethodMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="cwco_FairValueDeterminingMethodDomain" xlink:to="cwco_GuidelinePublicCompanyMethodMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SegmentRetailMember" xlink:label="cwco_SegmentRetailMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="cwco_SegmentRetailMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_BulkMember" xlink:label="cwco_BulkMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="cwco_BulkMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ServicesMember" xlink:label="cwco_ServicesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentDomain" xlink:to="cwco_ServicesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ManufacturingUnitsMember" xlink:label="cwco_ManufacturingUnitsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SegmentDomain" xlink:to="cwco_ManufacturingUnitsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EstimatedFairValuePercentageSegmentReportingInformation" xlink:label="cwco_EstimatedFairValuePercentageSegmentReportingInformation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="cwco_EstimatedFairValuePercentageSegmentReportingInformation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EstimatedFairValueCarryingAmountExceededPercentage" xlink:label="cwco_EstimatedFairValueCarryingAmountExceededPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="cwco_EstimatedFairValueCarryingAmountExceededPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Goodwill" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GoodwillImpairmentLoss" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureAccountingPoliciesInvestmentsAndOtherAssetsDetails" xlink:type="extended" xlink:title="40205 - Disclosure - Accounting policies - Investments and Other assets (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CapitalizedEngineeringLaborAndMaterialsCostMember" xlink:label="cwco_CapitalizedEngineeringLaborAndMaterialsCostMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="cwco_CapitalizedEngineeringLaborAndMaterialsCostMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CriteriaForRecognizingInvestmentAtCost" xlink:label="cwco_CriteriaForRecognizingInvestmentAtCost" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="cwco_CriteriaForRecognizingInvestmentAtCost" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentAdditionalInformation" xlink:label="us-gaap_EquityMethodInvestmentAdditionalInformation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EquityMethodInvestmentAdditionalInformation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedAmortizationOfOtherDeferredCosts" xlink:label="us-gaap_AccumulatedAmortizationOfOtherDeferredCosts" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccumulatedAmortizationOfOtherDeferredCosts" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssets" xlink:label="us-gaap_OtherAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAmortizationOfDeferredCharges" xlink:label="us-gaap_OtherAmortizationOfDeferredCharges" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherAmortizationOfDeferredCharges" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AmountRequiredToReduceAmountOfWaterLostByPublicWaterDistributionSystem" xlink:label="cwco_AmountRequiredToReduceAmountOfWaterLostByPublicWaterDistributionSystem" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_StatementLineItems" xlink:to="cwco_AmountRequiredToReduceAmountOfWaterLostByPublicWaterDistributionSystem" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureAccountingPoliciesDisaggregatedRevenueDetails" xlink:type="extended" xlink:title="40206 - Disclosure - Accounting policies - Disaggregated revenue (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_RetailRevenuesMember" xlink:label="cwco_RetailRevenuesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="cwco_RetailRevenuesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_BulkRevenuesMember" xlink:label="cwco_BulkRevenuesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="cwco_BulkRevenuesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ServicesRevenuesMember" xlink:label="cwco_ServicesRevenuesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentDomain" xlink:to="cwco_ServicesRevenuesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ManufacturingRevenuesMember" xlink:label="cwco_ManufacturingRevenuesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SegmentDomain" xlink:to="cwco_ManufacturingRevenuesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Revenues" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NumberOfDaysAfterConsumptionBillingsAreCollected" xlink:label="cwco_NumberOfDaysAfterConsumptionBillingsAreCollected" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="cwco_NumberOfDaysAfterConsumptionBillingsAreCollected" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue" xlink:label="cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureCashAndCashEquivalentsDetails" xlink:type="extended" xlink:title="40301 - Disclosure - Cash and cash equivalents (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CurrencyAxis" xlink:label="srt_CurrencyAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:to="srt_CurrencyAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_AllCurrenciesDomain" xlink:label="currency_AllCurrenciesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_CurrencyAxis" xlink:to="currency_AllCurrenciesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_USD" xlink:label="currency_USD" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="currency_AllCurrenciesDomain" xlink:to="currency_USD" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_KYD" xlink:label="currency_KYD" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="currency_AllCurrenciesDomain" xlink:to="currency_KYD" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_BSD" xlink:label="currency_BSD" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="currency_AllCurrenciesDomain" xlink:to="currency_BSD" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsLineItems" xlink:label="us-gaap_CashAndCashEquivalentsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="us-gaap_ScheduleOfCashAndCashEquivalentsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="us-gaap_Cash" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashEquivalentsAtCarryingValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="us-gaap_CashEquivalentsAtCarryingValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureInventoryDetails" xlink:type="extended" xlink:title="40501 - Disclosure - Inventory (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryCurrentTable" xlink:label="us-gaap_InventoryCurrentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_InventoryCurrentTable" xlink:to="us-gaap_StatementClassOfStockAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_WaterStockMember" xlink:label="cwco_WaterStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="cwco_WaterStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ConsumablesStockMember" xlink:label="cwco_ConsumablesStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="cwco_ConsumablesStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SparePartsStockMember" xlink:label="cwco_SparePartsStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="cwco_SparePartsStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryLineItems" xlink:label="us-gaap_InventoryLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryCurrentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryGross" xlink:label="us-gaap_InventoryGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNoncurrent" xlink:label="us-gaap_InventoryNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryNoncurrent" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureContractsInProgressDetails" xlink:type="extended" xlink:title="40601 - Disclosure - Contracts in progress (Details)">
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureTable" xlink:label="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" xlink:label="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" xlink:to="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerAmountBilled" xlink:label="cwco_ContractWithCustomerAmountBilled" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" xlink:to="cwco_ContractWithCustomerAmountBilled" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerRetainage" xlink:label="cwco_ContractWithCustomerRetainage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" xlink:to="cwco_ContractWithCustomerRetainage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerNetOverbillings" xlink:label="cwco_ContractWithCustomerNetOverbillings" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" xlink:to="cwco_ContractWithCustomerNetOverbillings" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_BalanceSheetLocationAbstract" xlink:label="cwco_BalanceSheetLocationAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" xlink:to="cwco_BalanceSheetLocationAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="cwco_BalanceSheetLocationAbstract" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="cwco_BalanceSheetLocationAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureContractsInProgressDefaultDetails" xlink:type="extended" xlink:title="40601 - Disclosure - Contracts in progress Default (Details)">
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureTable" xlink:label="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureTable" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" xlink:label="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" xlink:to="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerAmountBilled" xlink:label="cwco_ContractWithCustomerAmountBilled" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" xlink:to="cwco_ContractWithCustomerAmountBilled" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerRetainage" xlink:label="cwco_ContractWithCustomerRetainage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" xlink:to="cwco_ContractWithCustomerRetainage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerNetOverbillings" xlink:label="cwco_ContractWithCustomerNetOverbillings" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" xlink:to="cwco_ContractWithCustomerNetOverbillings" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_BalanceSheetLocationAbstract" xlink:label="cwco_BalanceSheetLocationAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" xlink:to="cwco_BalanceSheetLocationAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="cwco_BalanceSheetLocationAbstract" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="cwco_BalanceSheetLocationAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails" xlink:type="extended" xlink:title="40701 - Disclosure - Property, plant and equipment and construction in progress (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LandMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PlantAndEquipmentMember" xlink:label="cwco_PlantAndEquipmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="cwco_PlantAndEquipmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DistributionSystemsMember" xlink:label="cwco_DistributionSystemsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="cwco_DistributionSystemsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_FurnitureAndFixturesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_VehiclesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LeaseholdImprovementsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_LabEquipmentMember" xlink:label="cwco_LabEquipmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="cwco_LabEquipmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ConstructionInProgressGross" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails" xlink:type="extended" xlink:title="40801 - Disclosure - Discontinued operations - Mexico project development- Narratives (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInvestmentsTable" xlink:label="us-gaap_ScheduleOfInvestmentsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfInvestmentsTable" xlink:to="srt_OwnershipAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NSCAguaMember" xlink:label="cwco_NSCAguaMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_OwnershipDomain" xlink:to="cwco_NSCAguaMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_TypeOfPhasesAxis" xlink:label="cwco_TypeOfPhasesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfInvestmentsTable" xlink:to="cwco_TypeOfPhasesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_TypeOfPhasesDomain" xlink:label="cwco_TypeOfPhasesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="cwco_TypeOfPhasesAxis" xlink:to="cwco_TypeOfPhasesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_FirstPhaseMember" xlink:label="cwco_FirstPhaseMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="cwco_TypeOfPhasesDomain" xlink:to="cwco_FirstPhaseMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SecondPhaseMember" xlink:label="cwco_SecondPhaseMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="cwco_TypeOfPhasesDomain" xlink:to="cwco_SecondPhaseMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfInvestmentsTable" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_EquityMethodInvesteeNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AguasDeRosaritoSapiDeCvMember" xlink:label="cwco_AguasDeRosaritoSapiDeCvMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="cwco_AguasDeRosaritoSapiDeCvMember" use="optional" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="cwco_NSCAguaMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_ScheduleOfInvestmentsTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfInvestmentsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="us-gaap_ScheduleOfInvestmentsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity" xlink:label="cwco_SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="cwco_SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AreaOfLand" xlink:label="us-gaap_AreaOfLand" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="us-gaap_AreaOfLand" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PeriodInWhichConstructionMustBeCompleted" xlink:label="cwco_PeriodInWhichConstructionMustBeCompleted" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="cwco_PeriodInWhichConstructionMustBeCompleted" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PeriodRequiredToOperateAndMaintainPlantAndAqueduct" xlink:label="cwco_PeriodRequiredToOperateAndMaintainPlantAndAqueduct" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="cwco_PeriodRequiredToOperateAndMaintainPlantAndAqueduct" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PaymentForLandAndRightOfWayHeldForDevelopment" xlink:label="cwco_PaymentForLandAndRightOfWayHeldForDevelopment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="cwco_PaymentForLandAndRightOfWayHeldForDevelopment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NumberOfDaysToSubmitListOfNonRecoverableExpenses" xlink:label="cwco_NumberOfDaysToSubmitListOfNonRecoverableExpenses" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="cwco_NumberOfDaysToSubmitListOfNonRecoverableExpenses" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DiscontinuedOperationsNonRecoverableExpenses" xlink:label="cwco_DiscontinuedOperationsNonRecoverableExpenses" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="cwco_DiscontinuedOperationsNonRecoverableExpenses" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyDamagesSoughtValue" xlink:label="us-gaap_LossContingencyDamagesSoughtValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="us-gaap_LossContingencyDamagesSoughtValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LitigationSettlementExpense" xlink:label="us-gaap_LitigationSettlementExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="us-gaap_LitigationSettlementExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails" xlink:type="extended" xlink:title="40802 - Disclosure - Discontinued operations - Mexico project development (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="us-gaap_DisposalGroupClassificationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" xlink:to="us-gaap_DisposalGroupClassificationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="us-gaap_DisposalGroupClassificationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DisposalGroupClassificationAxis" xlink:to="us-gaap_DisposalGroupClassificationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDiscontinuedOperationsMember" xlink:label="us-gaap_SegmentDiscontinuedOperationsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DisposalGroupClassificationDomain" xlink:to="us-gaap_SegmentDiscontinuedOperationsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" xlink:to="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:to="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_MexicoProjectDevelopmentMember" xlink:label="cwco_MexicoProjectDevelopmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:to="cwco_MexicoProjectDevelopmentMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:to="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:to="cwco_DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:to="cwco_DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:label="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:to="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:to="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ValueAddedTaxReceivableAllowance" xlink:label="cwco_ValueAddedTaxReceivableAllowance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:to="cwco_ValueAddedTaxReceivableAllowance" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentFinancialInformationDetails" xlink:type="extended" xlink:title="40803 - Disclosure - Discontinued operations - Mexico project development - Financial Information (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="us-gaap_DisposalGroupClassificationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" xlink:to="us-gaap_DisposalGroupClassificationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="us-gaap_DisposalGroupClassificationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DisposalGroupClassificationAxis" xlink:to="us-gaap_DisposalGroupClassificationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDiscontinuedOperationsMember" xlink:label="us-gaap_SegmentDiscontinuedOperationsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DisposalGroupClassificationDomain" xlink:to="us-gaap_SegmentDiscontinuedOperationsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" xlink:to="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:to="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_MexicoProjectDevelopmentMember" xlink:label="cwco_MexicoProjectDevelopmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:to="cwco_MexicoProjectDevelopmentMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:to="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ProvisionForUncollectedValueAddedTaxes" xlink:label="cwco_ProvisionForUncollectedValueAddedTaxes" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:to="cwco_ProvisionForUncollectedValueAddedTaxes" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:to="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_IncomeLossFromDiscontinuedOperations" xlink:label="cwco_IncomeLossFromDiscontinuedOperations" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:to="cwco_IncomeLossFromDiscontinuedOperations" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails" xlink:type="extended" xlink:title="40901 - Disclosure - Intangible assets - Costs and accumulated amortization (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_TradeNameMember" xlink:label="cwco_TradeNameMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="cwco_TradeNameMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ManagementContractsMember" xlink:label="cwco_ManagementContractsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="cwco_ManagementContractsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassLineItems" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassLineItems" xlink:to="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassLineItems" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentForAmortizationAbstract" xlink:label="us-gaap_AdjustmentForAmortizationAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassLineItems" xlink:to="us-gaap_AdjustmentForAmortizationAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AdjustmentForAmortizationAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AdjustmentForAmortizationAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureIntangibleAssetsDetails" xlink:type="extended" xlink:title="40903 - Disclosure - Intangible assets (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_BusinessAcquisitionAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PercWaterCorporationMember" xlink:label="cwco_PercWaterCorporationMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="cwco_PercWaterCorporationMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails" xlink:type="extended" xlink:title="41001 - Disclosure - Leases - Lease assets and liabilities (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:to="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDiscontinuedOperationsMember" xlink:label="us-gaap_SegmentDiscontinuedOperationsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:to="us-gaap_SegmentDiscontinuedOperationsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsCurrentAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OperatingLeaseAssetsCurrent" xlink:label="cwco_OperatingLeaseAssetsCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="cwco_OperatingLeaseAssetsCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrent" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsNoncurrentAbstract" xlink:label="us-gaap_AssetsNoncurrentAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsNoncurrentAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AssetsNoncurrentAbstract" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DisposalGroupIncludingDiscontinuedOperationLeaseNoncurrent" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AssetsNoncurrentAbstract" xlink:to="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OperatingLeaseRightOfUseAssetNet" xlink:label="cwco_OperatingLeaseRightOfUseAssetNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AssetsAbstract" xlink:to="cwco_OperatingLeaseRightOfUseAssetNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAbstract" xlink:label="us-gaap_LiabilitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LiabilitiesAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesNoncurrentAbstract" xlink:label="us-gaap_LiabilitiesNoncurrentAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LiabilitiesAbstract" xlink:to="us-gaap_LiabilitiesNoncurrentAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LiabilitiesNoncurrentAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LiabilitiesNoncurrentAbstract" xlink:to="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OperatingLeaseLiabilityIncludingDiscontinuedOperations" xlink:label="cwco_OperatingLeaseLiabilityIncludingDiscontinuedOperations" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LiabilitiesAbstract" xlink:to="cwco_OperatingLeaseLiabilityIncludingDiscontinuedOperations" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LiabilitiesAbstract" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LiabilitiesAbstract" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails" xlink:type="extended" xlink:title="41104 - Disclosure - Income taxes - Net long-term deferred tax liability (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="us-gaap_DisposalGroupClassificationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DisposalGroupClassificationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="us-gaap_DisposalGroupClassificationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DisposalGroupClassificationAxis" xlink:to="us-gaap_DisposalGroupClassificationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDiscontinuedOperationsMember" xlink:label="us-gaap_SegmentDiscontinuedOperationsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DisposalGroupClassificationDomain" xlink:to="us-gaap_SegmentDiscontinuedOperationsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsNetAbstract" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsNetAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DeferredTaxAssetsLandBasisDifference" xlink:label="cwco_DeferredTaxAssetsLandBasisDifference" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="cwco_DeferredTaxAssetsLandBasisDifference" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DeferredTaxAssetsStartupCosts" xlink:label="cwco_DeferredTaxAssetsStartupCosts" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="cwco_DeferredTaxAssetsStartupCosts" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsCapitalLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsCapitalLossCarryforwards" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsCapitalLossCarryforwards" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities" xlink:label="cwco_DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="cwco_DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesNetAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" xlink:label="cwco_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="cwco_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" xlink:type="extended" xlink:title="41105 - Disclosure - Income taxes - Additional Information (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_DomesticCountryMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="us-gaap_StateAndLocalJurisdictionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_StateAndLocalJurisdictionMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="us-gaap_DisposalGroupClassificationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DisposalGroupClassificationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="us-gaap_DisposalGroupClassificationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DisposalGroupClassificationAxis" xlink:to="us-gaap_DisposalGroupClassificationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDiscontinuedOperationsMember" xlink:label="us-gaap_SegmentDiscontinuedOperationsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DisposalGroupClassificationDomain" xlink:to="us-gaap_SegmentDiscontinuedOperationsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLossCarryforwards" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationTaxCreditsResearch" xlink:label="us-gaap_IncomeTaxReconciliationTaxCreditsResearch" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxReconciliationTaxCreditsResearch" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureSegmentInformationDetails" xlink:type="extended" xlink:title="41401 - Disclosure - Segment information (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SegmentRetailMember" xlink:label="cwco_SegmentRetailMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="cwco_SegmentRetailMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_BulkMember" xlink:label="cwco_BulkMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="cwco_BulkMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ServicesMember" xlink:label="cwco_ServicesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentDomain" xlink:to="cwco_ServicesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ManufacturingUnitsMember" xlink:label="cwco_ManufacturingUnitsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SegmentDomain" xlink:to="cwco_ManufacturingUnitsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_NumberOfReportableSegments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_Revenues" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_CostOfRevenue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_GrossProfit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_GeneralAndAdministrativeExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges" xlink:label="us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_OperatingIncomeLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_NonoperatingIncomeExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity" xlink:label="us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperations" xlink:label="us-gaap_IncomeLossFromContinuingOperations" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperations" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax" xlink:label="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_NetIncomeLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_AccountsReceivableNetCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_InventoryCurrentAndNoncurrent" xlink:label="cwco_InventoryCurrentAndNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="cwco_InventoryCurrentAndNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="19" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ConstructionInProgress" xlink:label="cwco_ConstructionInProgress" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="20" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="cwco_ConstructionInProgress" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="21" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="22" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_Goodwill" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AssetsContinuedOperation" xlink:label="cwco_AssetsContinuedOperation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="23" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="cwco_AssetsContinuedOperation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:label="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="24" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="25" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_Assets" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureSegmentInformationRevenuesEarnedByMajorGeographicRegionAndMajorCustomerDetails" xlink:type="extended" xlink:title="41402 - Disclosure - Segment information - Revenues earned by major geographic region and major customer (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_StatementGeographicalAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_KY" xlink:label="country_KY" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_KY" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_BS" xlink:label="country_BS" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_BS" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_VG" xlink:label="country_VG" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_VG" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_WaterAndSewerageCorporationMember" xlink:label="cwco_WaterAndSewerageCorporationMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_SegmentGeographicalDomain" xlink:to="cwco_WaterAndSewerageCorporationMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OneCustomerMember" xlink:label="cwco_OneCustomerMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_SegmentGeographicalDomain" xlink:to="cwco_OneCustomerMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_Revenues" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EntityWideRevenuesMajorCustomerPercentage" xlink:label="cwco_EntityWideRevenuesMajorCustomerPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="cwco_EntityWideRevenuesMajorCustomerPercentage" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureSegmentInformationPropertyPlantAndEquipmentNetByMajorGeographicRegionDetails" xlink:type="extended" xlink:title="41403 - Disclosure - Segment information - Property, plant and equipment, net by major geographic region (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_StatementGeographicalAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_KY" xlink:label="country_KY" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_KY" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_BS" xlink:label="country_BS" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_BS" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureSegmentInformationAdditionalInformationDetails" xlink:type="extended" xlink:title="41404 - Disclosure - Segment information - Additional Information (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SegmentRetailMember" xlink:label="cwco_SegmentRetailMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="cwco_SegmentRetailMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_BulkMember" xlink:label="cwco_BulkMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="cwco_BulkMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ServicesMember" xlink:label="cwco_ServicesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentDomain" xlink:to="cwco_ServicesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ManufacturingUnitsMember" xlink:label="cwco_ManufacturingUnitsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SegmentDomain" xlink:to="cwco_ManufacturingUnitsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_DepreciationDepletionAndAmortization" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails" xlink:type="extended" xlink:title="41501 - Disclosure - Cost of revenues and general and administrative expenses - Cost of revenues (Details)">
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SubcontractorAndOtherProjectCostsMember" xlink:label="cwco_SubcontractorAndOtherProjectCostsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="cwco_SubcontractorAndOtherProjectCostsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricityMember" xlink:label="us-gaap_ElectricityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ElectricityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DepreciationMember" xlink:label="cwco_DepreciationMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="cwco_DepreciationMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_FuelOilMember" xlink:label="cwco_FuelOilMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="cwco_FuelOilMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EmployeeCostsMember" xlink:label="cwco_EmployeeCostsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="cwco_EmployeeCostsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CostOfPlantSalesMember" xlink:label="cwco_CostOfPlantSalesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="cwco_CostOfPlantSalesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MaintenanceMember" xlink:label="us-gaap_MaintenanceMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_MaintenanceMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_RoyaltiesMember" xlink:label="cwco_RoyaltiesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="cwco_RoyaltiesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_InsuranceMember" xlink:label="cwco_InsuranceMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="cwco_InsuranceMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherExpenseMember" xlink:label="us-gaap_OtherExpenseMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_OtherExpenseMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems" xlink:to="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems" xlink:to="us-gaap_CostOfRevenue" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesGeneralAndAdministrativeExpensesDetails" xlink:type="extended" xlink:title="41502 - Disclosure - Cost of revenues and general and administrative expenses - General and administrative expenses (Details)">
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EmployeeCostsMember" xlink:label="cwco_EmployeeCostsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="cwco_EmployeeCostsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_InsuranceMember" xlink:label="cwco_InsuranceMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="cwco_InsuranceMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ProfessionalsFeeMember" xlink:label="cwco_ProfessionalsFeeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="cwco_ProfessionalsFeeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DirectorsFeesAndExpensesMember" xlink:label="cwco_DirectorsFeesAndExpensesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="cwco_DirectorsFeesAndExpensesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OfficeRentMember" xlink:label="cwco_OfficeRentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="cwco_OfficeRentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DepreciationMember" xlink:label="cwco_DepreciationMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="cwco_DepreciationMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AmortizationOfIntangiblesMember" xlink:label="cwco_AmortizationOfIntangiblesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="cwco_AmortizationOfIntangiblesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OtherCreditDeviceMember" xlink:label="cwco_OtherCreditDeviceMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="cwco_OtherCreditDeviceMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems" xlink:to="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems" xlink:to="us-gaap_GeneralAndAdministrativeExpense" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" xlink:type="extended" xlink:title="41602 - Disclosure - Stock-based compensation - Stock option activity (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OptionIndexedToIssuersEquityTypeAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeAxis" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:to="us-gaap_EmployeeStockOptionMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails" xlink:type="extended" xlink:title="41603 - Disclosure - Stock-based compensation - Weighted average fair value of options at the date of grant and the intrinsic value of options exercised (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_BelowMarketPriceMember" xlink:label="cwco_BelowMarketPriceMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:to="cwco_BelowMarketPriceMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AtMarketPriceMember" xlink:label="cwco_AtMarketPriceMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:to="cwco_AtMarketPriceMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AboveMarketPriceMember" xlink:label="cwco_AboveMarketPriceMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:to="cwco_AboveMarketPriceMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_TitleOfIndividualAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ManagementEmployeesMember" xlink:label="cwco_ManagementEmployeesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="cwco_ManagementEmployeesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EmployeesMember" xlink:label="cwco_EmployeesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="cwco_EmployeesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_StatementEquityComponentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockMember" xlink:label="us-gaap_PreferredStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_PreferredStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureStockBasedCompensationDetails" xlink:type="extended" xlink:title="41604 - Disclosure - Stock-based compensation (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_StatementClassOfStockAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RedeemablePreferredStockMember" xlink:label="us-gaap_RedeemablePreferredStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_RedeemablePreferredStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OptionIndexedToIssuersEquityTypeAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeAxis" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:to="us-gaap_EmployeeStockOptionMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EquityIncentivePlan2008Member" xlink:label="cwco_EquityIncentivePlan2008Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:to="cwco_EquityIncentivePlan2008Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CommonStockOptionsMember" xlink:label="cwco_CommonStockOptionsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="cwco_CommonStockOptionsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NonExecutiveDirectorsSharePlanMember" xlink:label="cwco_NonExecutiveDirectorsSharePlanMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="cwco_NonExecutiveDirectorsSharePlanMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NonperformancebasedGrantsMember" xlink:label="cwco_NonperformancebasedGrantsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="cwco_NonperformancebasedGrantsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PerformancebasedGrantsMember" xlink:label="cwco_PerformancebasedGrantsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="cwco_PerformancebasedGrantsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod" xlink:label="cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation" xlink:label="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax" xlink:label="us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonVestedOutstandingWeightedAverageRemainingContractualTerm" xlink:label="cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonVestedOutstandingWeightedAverageRemainingContractualTerm" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonVestedOutstandingWeightedAverageRemainingContractualTerm" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_PreferredStockValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AdditionalConsecutiveIndividualRequisiteServicePeriod" xlink:label="cwco_AdditionalConsecutiveIndividualRequisiteServicePeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="cwco_AdditionalConsecutiveIndividualRequisiteServicePeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_StockholdersEquityNoteConversionRatioPreferredShares" xlink:label="cwco_StockholdersEquityNoteConversionRatioPreferredShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="cwco_StockholdersEquityNoteConversionRatioPreferredShares" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_StockholdersEquityNoteConversionRatioCommonShares" xlink:label="cwco_StockholdersEquityNoteConversionRatioCommonShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="cwco_StockholdersEquityNoteConversionRatioCommonShares" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NumberOfDaysOfAverageTradingPriceOfCommonStock" xlink:label="cwco_NumberOfDaysOfAverageTradingPriceOfCommonStock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="cwco_NumberOfDaysOfAverageTradingPriceOfCommonStock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised" xlink:label="cwco_NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="cwco_NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="19" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="20" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="21" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ClosingPriceOfCommonShares" xlink:label="cwco_ClosingPriceOfCommonShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="22" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="cwco_ClosingPriceOfCommonShares" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureRetirementBenefitsDetails" xlink:type="extended" xlink:title="41701 - Disclosure - Retirement benefits (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_RetirementPlanAxis" xlink:label="cwco_RetirementPlanAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="cwco_RetirementPlanAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_RetirementPlanDomain" xlink:label="cwco_RetirementPlanDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="cwco_RetirementPlanAxis" xlink:to="cwco_RetirementPlanDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_KY" xlink:label="country_KY" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="cwco_RetirementPlanDomain" xlink:to="country_KY" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/stpr/2022/stpr-2022.xsd#stpr_FL" xlink:label="stpr_FL" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="cwco_RetirementPlanDomain" xlink:to="stpr_FL" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/stpr/2022/stpr-2022.xsd#stpr_CA" xlink:label="stpr_CA" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="cwco_RetirementPlanDomain" xlink:to="stpr_CA" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis" xlink:label="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchDomain" xlink:label="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis" xlink:to="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchDomain" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember" xlink:label="cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchDomain" xlink:to="cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionExpense" xlink:label="us-gaap_PensionExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_PensionExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" xlink:label="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount" xlink:label="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureFinancialInstrumentsDetails" xlink:type="extended" xlink:title="41801 - Disclosure - Financial instruments (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="us-gaap_FairValueByAssetClassAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueByAssetClassAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CertificatesOfDepositMember" xlink:label="us-gaap_CertificatesOfDepositMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:to="us-gaap_CertificatesOfDepositMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel2Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel3Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract" xlink:label="us-gaap_FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNetAbstract" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNetAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNetAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNetAbstract" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureFinancialInstrumentsAdditionalInformationDetails" xlink:type="extended" xlink:title="41803 - Disclosure - Financial instruments - Additional Information (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue" xlink:label="cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_TermOfForeignExchangeRiskToDollarForCertainCurrencies" xlink:label="cwco_TermOfForeignExchangeRiskToDollarForCertainCurrencies" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="cwco_TermOfForeignExchangeRiskToDollarForCertainCurrencies" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureCommitmentsAndContingenciesDetails" xlink:type="extended" xlink:title="41901 - Disclosure - Commitments and contingencies (Details)">
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CommitmentsAndContingenciesTable" xlink:label="cwco_CommitmentsAndContingenciesTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="cwco_CommitmentsAndContingenciesTable" xlink:to="us-gaap_SubsequentEventTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="cwco_CommitmentsAndContingenciesTable" xlink:to="srt_MajorCustomersAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_WSCMember" xlink:label="cwco_WSCMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="cwco_WSCMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CommitmentsAndContingenciesLineItems" xlink:label="cwco_CommitmentsAndContingenciesLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="cwco_CommitmentsAndContingenciesLineItems" xlink:to="cwco_CommitmentsAndContingenciesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EmploymentAgreementBaseAnnualSalaries" xlink:label="cwco_EmploymentAgreementBaseAnnualSalaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="cwco_CommitmentsAndContingenciesLineItems" xlink:to="cwco_EmploymentAgreementBaseAnnualSalaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CaymanWaterRetailOperationsPercentageOfRevenue" xlink:label="cwco_CaymanWaterRetailOperationsPercentageOfRevenue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="cwco_CommitmentsAndContingenciesLineItems" xlink:to="cwco_CaymanWaterRetailOperationsPercentageOfRevenue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CaymanWaterRetailOperationsPercentageOfGrossProfit" xlink:label="cwco_CaymanWaterRetailOperationsPercentageOfGrossProfit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="cwco_CommitmentsAndContingenciesLineItems" xlink:to="cwco_CaymanWaterRetailOperationsPercentageOfGrossProfit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermPurchaseCommitmentAmount" xlink:label="us-gaap_LongTermPurchaseCommitmentAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="cwco_CommitmentsAndContingenciesLineItems" xlink:to="us-gaap_LongTermPurchaseCommitmentAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNet" xlink:label="us-gaap_AccountsReceivableNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="cwco_CommitmentsAndContingenciesLineItems" xlink:to="us-gaap_AccountsReceivableNet" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureRelatedPartyTransactionsDetails" xlink:type="extended" xlink:title="42001 - Disclosure - Related party transactions (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PercWaterCorporationMember" xlink:label="cwco_PercWaterCorporationMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="cwco_PercWaterCorporationMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableRelatedPartiesCurrent" xlink:label="us-gaap_AccountsPayableRelatedPartiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_AccountsPayableRelatedPartiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty" xlink:label="us-gaap_RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails" xlink:type="extended" xlink:title="42101 - Disclosure - Supplemental disclosure of cash flow information (Details)">
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SupplementalDisclosureOfCashFlowInformationTable" xlink:label="cwco_SupplementalDisclosureOfCashFlowInformationTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="cwco_SupplementalDisclosureOfCashFlowInformationTable" xlink:to="us-gaap_StatementClassOfStockAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RedeemablePreferredStockMember" xlink:label="us-gaap_RedeemablePreferredStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_RedeemablePreferredStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_CommonStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SupplementalDisclosureOfCashFlowInformationLineItems" xlink:label="cwco_SupplementalDisclosureOfCashFlowInformationLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="cwco_SupplementalDisclosureOfCashFlowInformationLineItems" xlink:to="cwco_SupplementalDisclosureOfCashFlowInformationTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="cwco_SupplementalDisclosureOfCashFlowInformationLineItems" xlink:to="us-gaap_InterestPaidNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="cwco_SupplementalDisclosureOfCashFlowInformationLineItems" xlink:to="us-gaap_IncomeTaxesPaidNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="cwco_SupplementalDisclosureOfCashFlowInformationLineItems" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssued1" xlink:label="us-gaap_StockIssued1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_StockIssued1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConversionOfStockAmountConverted1" xlink:label="us-gaap_ConversionOfStockAmountConverted1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_ConversionOfStockAmountConverted1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsPayableCurrentAndNoncurrent" xlink:label="us-gaap_DividendsPayableCurrentAndNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_DividendsPayableCurrentAndNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_TransfersBetweenInventoryAndPropertyPlantAndEquipment" xlink:label="cwco_TransfersBetweenInventoryAndPropertyPlantAndEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="cwco_TransfersBetweenInventoryAndPropertyPlantAndEquipment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet" xlink:label="cwco_NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="cwco_NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction" xlink:label="us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CommonStockIssuedDuringPeriodValueIssuedForServices" xlink:label="cwco_CommonStockIssuedDuringPeriodValueIssuedForServices" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="cwco_CommonStockIssuedDuringPeriodValueIssuedForServices" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConversionOfStockSharesConverted1" xlink:label="us-gaap_ConversionOfStockSharesConverted1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_ConversionOfStockSharesConverted1" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.cwco.com/role/DisclosureSubsequentEventsDetails" xlink:type="extended" xlink:title="42301 - Disclosure - Subsequent events (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_BusinessAcquisitionAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PercWaterCorporationMember" xlink:label="cwco_PercWaterCorporationMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="cwco_PercWaterCorporationMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_SubsequentEventTable" xlink:to="srt_OwnershipAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipDomain" use="optional" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_OwnershipDomain" xlink:to="cwco_PercWaterCorporationMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_SubsequentEventTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_SubsequentEventTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent" priority="1" use="optional" />
  </definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>13
<FILENAME>cwco-20221231_lab.xml
<DESCRIPTION>EX-101.LAB
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  10.2.0.4 -->
<!--Based on XBRL 2.1-->
<!--Created on: 3/30/2023 5:53:40 PM-->
<!--Modified on: 3/30/2023 5:53:40 PM-->
<link:linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt">
  <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" />
  <roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel" />
  <roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" />
  <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DocumentAndEntityInformationAbstract" xlink:label="cwco_DocumentAndEntityInformationAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_DocumentAndEntityInformationAbstract" xlink:to="cwco_DocumentAndEntityInformationAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_DocumentAndEntityInformationAbstract_lbl" xml:lang="en-US">Document and Entity Information [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_DocumentAndEntityInformationAbstract_lbl" xml:lang="en-US">Document and Entity Information</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationTable_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentInformationTable_lbl" xml:lang="en-US">Document Information [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationLineItems_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentInformationLineItems_lbl" xml:lang="en-US">Document Information [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US">Document Type</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine3" xlink:label="dei_EntityAddressAddressLine3" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine3" xlink:to="dei_EntityAddressAddressLine3_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCountry" xlink:to="dei_EntityAddressCountry_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US">Trading Symbol</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_IcfrAuditorAttestationFlag" xlink:to="dei_IcfrAuditorAttestationFlag_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_IcfrAuditorAttestationFlag_lbl" xml:lang="en-US">ICFR Auditor Attestation Flag</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorName" xlink:label="dei_AuditorName" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorName" xlink:to="dei_AuditorName_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorName_lbl" xml:lang="en-US">Auditor Name</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorFirmId" xlink:to="dei_AuditorFirmId_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorFirmId_lbl" xml:lang="en-US">Auditor Firm ID</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorLocation" xlink:to="dei_AuditorLocation_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorLocation_lbl" xml:lang="en-US">Auditor Location</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US">Amendment Flag</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xml:lang="en-US">CONSOLIDATED BALANCE SHEETS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl" xml:lang="en-US">Statement [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_StatementClassOfStockAxis_lbl" />
    <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]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_ClassOfStockDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ClassOfStockDomain_lbl" xml:lang="en-US">Class of Stock [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonClassAMember" xlink:label="us-gaap_CommonClassAMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonClassAMember" xlink:to="us-gaap_CommonClassAMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonClassAMember_lbl" xml:lang="en-US">Common Class A [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonClassBMember" xlink:label="us-gaap_CommonClassBMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonClassBMember" xlink:to="us-gaap_CommonClassBMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonClassBMember_lbl" xml:lang="en-US">Common Class B [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US">Statement [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US">Assets [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US">ASSETS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US">Assets, Current [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US">Current assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US">Current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Cash and cash equivalents</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Cash and cash equivalents at end of period</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CertificatesOfDepositAtCarryingValue" xlink:label="us-gaap_CertificatesOfDepositAtCarryingValue" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CertificatesOfDepositAtCarryingValue" xlink:to="us-gaap_CertificatesOfDepositAtCarryingValue_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CertificatesOfDepositAtCarryingValue_lbl" xml:lang="en-US">Certificates of Deposit, at Carrying Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CertificatesOfDepositAtCarryingValue_lbl" xml:lang="en-US">Certificate of deposit</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Accounts Receivable, Net, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Accounts receivable, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Accounts receivable, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US">Inventory, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US">Less current portion</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US">Inventory</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US">Prepaid Expense and Other Assets, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US">Prepaid expenses and other current assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNetCurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xml:lang="en-US">Contract with Customer, Asset, Net, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xml:lang="en-US">Contract assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xml:lang="en-US">Contract assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue_lbl" xml:lang="en-US">Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue_lbl" xml:lang="en-US">Net asset arising from put/call options</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue_lbl" xml:lang="en-US">Fair value, Assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent" xlink:label="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent" xlink:to="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent_lbl" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Assets, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent_lbl" xml:lang="en-US">Current assets of discontinued operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US">Assets, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US">Total current assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/definitionGuidance" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Property, plant and equipment, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Property, Plant and Equipment, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Property, Plant and Equipment, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Property, Plant and Equipment, Net, Total</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Property, plant and equipment, net</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ConstructionInProgress" xlink:label="cwco_ConstructionInProgress" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ConstructionInProgress" xlink:to="cwco_ConstructionInProgress_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_ConstructionInProgress_lbl" xml:lang="en-US">Amount of structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ConstructionInProgress_lbl" xml:lang="en-US">Construction in Progress</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_ConstructionInProgress_lbl" xml:lang="en-US">Construction in progress</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="cwco_ConstructionInProgress_lbl" xml:lang="en-US">Construction in progress</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNoncurrent" xlink:label="us-gaap_InventoryNoncurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNoncurrent" xlink:to="us-gaap_InventoryNoncurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNoncurrent_lbl" xml:lang="en-US">Inventory, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryNoncurrent_lbl" xml:lang="en-US">Inventory (non-current)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_InventoryNoncurrent_lbl" xml:lang="en-US">Inventory, noncurrent</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestments" xlink:to="us-gaap_EquityMethodInvestments_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestments_lbl" xml:lang="en-US">Equity Method Investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityMethodInvestments_lbl" xml:lang="en-US">Investment in OC-BVI</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Goodwill</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Goodwill</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xml:lang="en-US">Intangible Assets, Net (Excluding Goodwill)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xml:lang="en-US">Intangibles, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xml:lang="en-US">Intangible assets, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xml:lang="en-US">Intangible assets, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl" />
    <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 Asset</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US">Operating lease right-of-use assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl" />
    <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, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US">Other assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent_lbl" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Assets, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent_lbl" xml:lang="en-US">Long-term assets of discontinued operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Total assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Total assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" />
    <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 Equity [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US">LIABILITIES AND EQUITY</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US">Liabilities, Current [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US">Current liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US">Current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Accounts Payable and Accrued Liabilities, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Accounts payable, accrued expenses and other current liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableRelatedPartiesCurrent" xlink:label="us-gaap_AccountsPayableRelatedPartiesCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableRelatedPartiesCurrent" xlink:to="us-gaap_AccountsPayableRelatedPartiesCurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableRelatedPartiesCurrent_lbl" xml:lang="en-US">Accounts Payable, Related Parties, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsPayableRelatedPartiesCurrent_lbl" xml:lang="en-US">Accounts payable outstanding</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsPayableRelatedPartiesCurrent_lbl" xml:lang="en-US">Accounts payable - related parties</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedEmployeeBenefitsCurrent" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent_lbl" xml:lang="en-US">Accrued Employee Benefits, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent_lbl" xml:lang="en-US">Accrued compensation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsPayableCurrent" xlink:label="us-gaap_DividendsPayableCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableCurrent" xlink:to="us-gaap_DividendsPayableCurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsPayableCurrent_lbl" xml:lang="en-US">Dividends Payable, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DividendsPayableCurrent_lbl" xml:lang="en-US">Dividends payable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl" />
    <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, Liability, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US">Less: current obligations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US">Current maturities of operating leases</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US">Current maturities of operating leases</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtCurrent" xlink:to="us-gaap_LongTermDebtCurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtCurrent_lbl" xml:lang="en-US">Long-term Debt, Current Maturities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtCurrent_lbl" xml:lang="en-US">Current portion of long-term debt</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US">Contract with Customer, Liability, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US">Contract liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US">Contract liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeCurrent" xlink:label="us-gaap_DeferredIncomeCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeCurrent" xlink:to="us-gaap_DeferredIncomeCurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeCurrent_lbl" xml:lang="en-US">Deferred Income, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeCurrent_lbl" xml:lang="en-US">Deferred revenue</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent" xlink:to="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent_lbl" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Liabilities, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent_lbl" xml:lang="en-US">Current liabilities of discontinued operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US">Liabilities, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US">Total current liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtNoncurrent" xlink:to="us-gaap_LongTermDebtNoncurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtNoncurrent_lbl" xml:lang="en-US">Long-term Debt, Excluding Current Maturities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtNoncurrent_lbl" xml:lang="en-US">Long-term debt, noncurrent</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US">Deferred Income Tax Liabilities, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US">Deferred tax liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US">Net deferred tax liability</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/definitionGuidance" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Noncurrent lease obligations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Operating Lease, Liability, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Noncurrent operating leases</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesNoncurrent" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xml:lang="en-US">Other Liabilities, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xml:lang="en-US">Other liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent" xlink:to="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent_lbl" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Liabilities, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent_lbl" xml:lang="en-US">Long-term liabilities of discontinued operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent_lbl" xml:lang="en-US">Noncurrent liabilities of discontinued operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US">Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US">Total liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US">Commitments and Contingencies</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US">Commitments and contingencies</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_lbl" xml:lang="en-US">Equity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US">Stockholders' Equity Attributable to Parent [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US">Consolidated Water Co. Ltd. stockholders' equity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockValue" xlink:to="us-gaap_PreferredStockValue_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockValue_lbl" xml:lang="en-US">Preferred Stock, Value, Issued</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PreferredStockValue_lbl" xml:lang="en-US">Redeemable preferred stock, $0.60 par value. Authorized 200,000 shares; issued and outstanding 34,383 and 28,635 shares, respectively</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PreferredStockValue_lbl" xml:lang="en-US">Preferred stock value</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl" />
    <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, Value, Issued</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US">Common stock value</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapital" xlink:to="us-gaap_AdditionalPaidInCapital_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapital_lbl" xml:lang="en-US">Additional Paid in Capital</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AdditionalPaidInCapital_lbl" xml:lang="en-US">Additional paid-in capital</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US">Retained earnings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Stockholders' Equity Attributable to Parent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Total Consolidated Water Co. Ltd. stockholders' equity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterest" xlink:to="us-gaap_MinorityInterest_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterest_lbl" xml:lang="en-US">Stockholders' Equity Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_MinorityInterest_lbl" xml:lang="en-US">Non-controlling interests</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Total equity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US">Liabilities and Equity</label>
    <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 equity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Preferred Stock, Par or Stated Value Per Share</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Redeemable preferred stock, par value (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesAuthorized" xlink:to="us-gaap_PreferredStockSharesAuthorized_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xml:lang="en-US">Preferred Stock, Shares Authorized</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xml:lang="en-US">Redeemable preferred stock, authorized</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesIssued" xlink:to="us-gaap_PreferredStockSharesIssued_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xml:lang="en-US">Preferred Stock, Shares Issued</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xml:lang="en-US">Redeemable preferred stock, issued</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesOutstanding" xlink:to="us-gaap_PreferredStockSharesOutstanding_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xml:lang="en-US">Preferred Stock, Shares Outstanding</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xml:lang="en-US">Redeemable preferred stock, outstanding</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl" />
    <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 or Stated Value Per Share</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Common stock, par value (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl" />
    <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, Shares Authorized</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US">Common stock, authorized</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl" />
    <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, Shares, Issued</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US">Common stock, issued</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US">Common Stock, Shares, Outstanding</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US">Common stock, outstanding</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xml:lang="en-US">CONSOLIDATED STATEMENTS OF INCOME</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/definitionGuidance" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US">Total Revenue</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US">Revenues</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US">Revenue</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US">Revenue</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfRevenue" xlink:to="us-gaap_CostOfRevenue_lbl" />
    <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 Revenue</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CostOfRevenue_lbl" xml:lang="en-US">Cost of revenue (including purchases from related parties of $2,694,810 in 2022 and $437,857 in 2021)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CostOfRevenue_lbl" xml:lang="en-US">Cost of revenue</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US">Gross Profit</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US">Gross profit</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US">Gross profit</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl" xml:lang="en-US">General and Administrative Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl" xml:lang="en-US">General and administrative expenses</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl" xml:lang="en-US">General and administrative expenses (including purchases from related parties of $96,924 in 2022 and $77,190 in 2021)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges" xlink:label="us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges" xlink:to="us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges_lbl" xml:lang="en-US">Gain (Loss) on Sale of Assets and Asset Impairment Charges</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges_lbl" xml:lang="en-US">Loss on asset dispositions and impairments, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges_lbl" xml:lang="en-US">Gain (loss) on asset dispositions and impairments, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US">Operating Income (Loss)</label>
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xml:lang="en-US">Nonoperating Income (Expense) [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xml:lang="en-US">Other income (expense):</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestIncomeOther" xlink:label="us-gaap_InterestIncomeOther" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestIncomeOther" xlink:to="us-gaap_InterestIncomeOther_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestIncomeOther_lbl" xml:lang="en-US">Interest Income, Other</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_InterestIncomeOther_lbl" xml:lang="en-US">Interest income</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpense" xlink:to="us-gaap_InterestExpense_lbl" />
    <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</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_InterestExpense_lbl" xml:lang="en-US">Interest expense</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ProfitLossFromSubsidiaries" xlink:label="cwco_ProfitLossFromSubsidiaries" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ProfitLossFromSubsidiaries" xlink:to="cwco_ProfitLossFromSubsidiaries_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_ProfitLossFromSubsidiaries_lbl" xml:lang="en-US">This item represents the entity's share of profit or (loss) from its unconsolidated equity method investee.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ProfitLossFromSubsidiaries_lbl" xml:lang="en-US">Profit Loss From Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="cwco_ProfitLossFromSubsidiaries_lbl" xml:lang="en-US">Profit-sharing income from OC-BVI</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US">Income (Loss) from Equity Method Investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US">Equity in the earnings of OC-BVI</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfDerivatives" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_lbl" xml:lang="en-US">Unrealized Gain (Loss) on Derivatives</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_lbl" xml:lang="en-US">Loss (gain) on net put/call option</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_lbl" xml:lang="en-US">Net gain (loss) on put/call options</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xml:lang="en-US">Other Nonoperating Income (Expense)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xml:lang="en-US">Other</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US">Nonoperating Income (Expense)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US">Other income, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US">Other income, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">Income before income taxes</label>
    <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 income taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Income Tax Expense (Benefit)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Provision for income taxes</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Total provision (benefit)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Provision (benefit) for income taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Income (Loss) from Continuing Operations, Net of Tax, Including Portion Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Net income from continuing operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity" xlink:label="us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity" xlink:to="us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity_lbl" xml:lang="en-US">Income (Loss) from Continuing Operations, Net of Tax, Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity_lbl" xml:lang="en-US">Income from continuing operations attributable to non-controlling interests</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperations" xlink:label="us-gaap_IncomeLossFromContinuingOperations" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperations" xlink:to="us-gaap_IncomeLossFromContinuingOperations_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/definitionGuidance" xlink:label="us-gaap_IncomeLossFromContinuingOperations_lbl" xml:lang="en-US">Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperations_lbl" xml:lang="en-US">Income (Loss) from Continuing Operations, Net of Tax, Attributable to Parent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperations_lbl" xml:lang="en-US">Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax" xlink:label="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax" xlink:to="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax_lbl" xml:lang="en-US">Income (Loss) from Discontinued Operations, Net of Tax, Including Portion Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax_lbl" xml:lang="en-US">Total loss from discontinued operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax_lbl" xml:lang="en-US">Total loss from discontinued operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US">Net Income (Loss) Attributable to Parent</label>
    <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 attributable to Consolidated Water Co. Ltd. stockholders</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="us-gaap_EarningsPerShareBasicAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasicAbstract" xlink:to="us-gaap_EarningsPerShareBasicAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasicAbstract_lbl" xml:lang="en-US">Earnings Per Share, Basic [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareBasicAbstract_lbl" xml:lang="en-US">Basic earnings (loss) per common share attributable to Consolidated Water Co. Ltd. common stockholders</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:label="us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:to="us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_lbl" xml:lang="en-US">Income (Loss) from Continuing Operations, Per Basic Share</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_lbl" xml:lang="en-US">Continuing operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare" xlink:to="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare_lbl" xml:lang="en-US">Discontinued Operation, Income (Loss) from Discontinued Operation, Net of Tax, Per Basic Share</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare_lbl" xml:lang="en-US">Discontinued operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US">Earnings Per Share, Basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US">Basic earnings per share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDilutedAbstract" xlink:label="us-gaap_EarningsPerShareDilutedAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDilutedAbstract" xlink:to="us-gaap_EarningsPerShareDilutedAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDilutedAbstract_lbl" xml:lang="en-US">Earnings Per Share, Diluted [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareDilutedAbstract_lbl" xml:lang="en-US">Diluted earnings (loss) per common share attributable to Consolidated Water Co. Ltd. common stockholders</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:label="us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:to="us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_lbl" xml:lang="en-US">Income (Loss) from Continuing Operations, Per Diluted Share</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_lbl" xml:lang="en-US">Continuing operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare" xlink:to="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare_lbl" xml:lang="en-US">Discontinued Operation, Income (Loss) from Discontinued Operation, Net of Tax, Per Diluted Share</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare_lbl" xml:lang="en-US">Discontinued operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US">Earnings Per Share, Diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US">Diluted earnings per share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockDividendsPerShareDeclared" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockDividendsPerShareDeclared" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_lbl" xml:lang="en-US">Common Stock, Dividends, Per Share, Declared</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_lbl" xml:lang="en-US">Dividends declared per common and redeemable preferred shares</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" xml:lang="en-US">Weighted average number of common shares used in the determination of:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Weighted average number of common shares in the determination of basic earnings per common share attributable to Consolidated Water Co. Ltd. common stockholders (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Basic earnings per share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Weighted average number of shares used for determining diluted earnings per common share attributable to Consolidated Water Co. Ltd. common stockholders</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Diluted earnings per share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis_lbl" />
    <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]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_IncomeStatementLocationDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementLocationDomain_lbl" xml:lang="en-US">Income Statement Location [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfSalesMember" xlink:to="us-gaap_CostOfSalesMember_lbl" />
    <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 revenue.</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember_lbl" xml:lang="en-US">General and administrative expense.</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" xlink:to="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_lbl" xml:lang="en-US">Related Party Transaction, Purchases from Related Party</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_lbl" xml:lang="en-US">Purchases of services</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_lbl" xml:lang="en-US">Purchases from related parties</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xml:lang="en-US">CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RedeemablePreferredStockMember" xlink:label="us-gaap_RedeemablePreferredStockMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RedeemablePreferredStockMember" xlink:to="us-gaap_RedeemablePreferredStockMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RedeemablePreferredStockMember_lbl" xml:lang="en-US">Redeemable preferred stock [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xml:lang="en-US">Equity Components [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityComponentDomain_lbl" xml:lang="en-US">Equity Component [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockMember" xlink:label="us-gaap_PreferredStockMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockMember" xlink:to="us-gaap_PreferredStockMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockMember_lbl" xml:lang="en-US">Preferred stock [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US">Common stock [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl" />
    <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]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl" />
    <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]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestMember" xlink:to="us-gaap_NoncontrollingInterestMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestMember_lbl" xml:lang="en-US">Non controlling interests [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesOutstanding_lbl" xml:lang="en-US">Shares, Outstanding</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharesOutstanding_lbl" xml:lang="en-US">Balance (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharesOutstanding_lbl" xml:lang="en-US">Balance (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xml:lang="en-US">Stock Issued During Period, Value, New Issues</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xml:lang="en-US">Issuance of share capital</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xml:lang="en-US">Stock Issued During Period, Shares, New Issues</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xml:lang="en-US">Issuance of share capital (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:to="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_lbl" xml:lang="en-US">Stock Issued During Period, Value, Conversion of Convertible Securities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_lbl" xml:lang="en-US">Conversion of preferred stock</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:to="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_lbl" xml:lang="en-US">Stock Issued During Period, Shares, Conversion of Convertible Securities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_lbl" xml:lang="en-US">Conversion of preferred stock (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRedeemedOrCalledDuringPeriodValue" xlink:label="us-gaap_StockRedeemedOrCalledDuringPeriodValue" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRedeemedOrCalledDuringPeriodValue" xlink:to="us-gaap_StockRedeemedOrCalledDuringPeriodValue_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRedeemedOrCalledDuringPeriodValue_lbl" xml:lang="en-US">Stock Redeemed or Called During Period, Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockRedeemedOrCalledDuringPeriodValue_lbl" xml:lang="en-US">Buyback of preferred stock</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRedeemedOrCalledDuringPeriodShares" xlink:label="us-gaap_StockRedeemedOrCalledDuringPeriodShares" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRedeemedOrCalledDuringPeriodShares" xlink:to="us-gaap_StockRedeemedOrCalledDuringPeriodShares_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRedeemedOrCalledDuringPeriodShares_lbl" xml:lang="en-US">Stock Redeemed or Called During Period, Shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockRedeemedOrCalledDuringPeriodShares_lbl" xml:lang="en-US">Buyback of preferred stock (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Net Income (Loss), Including Portion Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Net income</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US">Stock Issued During Period, Value, Stock Options Exercised</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US">Exercise of options</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Exercised - Options</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Exercise of options (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsCash" xlink:label="us-gaap_DividendsCash" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsCash" xlink:to="us-gaap_DividendsCash_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsCash_lbl" xml:lang="en-US">Dividends, Cash</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DividendsCash_lbl" xml:lang="en-US">Dividends declared</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US">Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US">Stock-based compensation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xml:lang="en-US">CONSOLIDATED STATEMENTS OF CASH FLOWS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Cash flows from operating activities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Net Income (Loss) Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Income from continuing operations attributable to non-controlling interests</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" />
    <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 (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Adjustments to reconcile net income to net cash provided by operating activities:</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment" xlink:to="cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment_lbl" xml:lang="en-US">Amount of impairment attributable to disposal group, including, but not limited to, discontinued operation.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment_lbl" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Other Expense, Impairment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment_lbl" xml:lang="en-US">Impairment loss for Mexico assets - discontinued operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationAndAmortizationDiscontinuedOperations" xlink:label="us-gaap_DepreciationAndAmortizationDiscontinuedOperations" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationAndAmortizationDiscontinuedOperations" xlink:to="us-gaap_DepreciationAndAmortizationDiscontinuedOperations_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationAndAmortizationDiscontinuedOperations_lbl" xml:lang="en-US">Depreciation and Amortization, Discontinued Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DepreciationAndAmortizationDiscontinuedOperations_lbl" xml:lang="en-US">Depreciation and amortization - discontinued operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses_lbl" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Foreign Currency Translation Gains (Losses)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses_lbl" xml:lang="en-US">Foreign currency transaction adjustment - discontinued operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupNotDiscontinuedOperationGainLossOnDisposal" xlink:label="us-gaap_DisposalGroupNotDiscontinuedOperationGainLossOnDisposal" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisposalGroupNotDiscontinuedOperationGainLossOnDisposal" xlink:to="us-gaap_DisposalGroupNotDiscontinuedOperationGainLossOnDisposal_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisposalGroupNotDiscontinuedOperationGainLossOnDisposal_lbl" xml:lang="en-US">Disposal Group, Not Discontinued Operation, Gain (Loss) on Disposal</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DisposalGroupNotDiscontinuedOperationGainLossOnDisposal_lbl" xml:lang="en-US">Loss from discontinued operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationAndAmortization" xlink:to="us-gaap_DepreciationAndAmortization_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationAndAmortization_lbl" xml:lang="en-US">Depreciation, Depletion and Amortization, Nonproduction</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DepreciationAndAmortization_lbl" xml:lang="en-US">Depreciation and amortization</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred Income Tax Expense (Benefit)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred income tax benefit</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Share-based Compensation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Compensation expense relating to stock and stock option grants</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="us-gaap_GainLossOnDispositionOfAssets1" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnDispositionOfAssets1" xlink:to="us-gaap_GainLossOnDispositionOfAssets1_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnDispositionOfAssets1_lbl" xml:lang="en-US">Gain (Loss) on Disposition of Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnDispositionOfAssets1_lbl" xml:lang="en-US">Loss on asset dispositions and impairments, net</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_IncomeLossFromEquityMethodInvestmentsAndSubsidiaries" xlink:label="cwco_IncomeLossFromEquityMethodInvestmentsAndSubsidiaries" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_IncomeLossFromEquityMethodInvestmentsAndSubsidiaries" xlink:to="cwco_IncomeLossFromEquityMethodInvestmentsAndSubsidiaries_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_IncomeLossFromEquityMethodInvestmentsAndSubsidiaries_lbl" xml:lang="en-US">This items represents the entity's equity in earnings and profit sharing rights earned for the period from its unconsolidated equity method investee.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_IncomeLossFromEquityMethodInvestmentsAndSubsidiaries_lbl" xml:lang="en-US">Income Loss From Equity Method Investments And Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="cwco_IncomeLossFromEquityMethodInvestmentsAndSubsidiaries_lbl" xml:lang="en-US">Profit-sharing and equity in earnings of OC-BVI</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentDividendsOrDistributions" xlink:label="us-gaap_EquityMethodInvestmentDividendsOrDistributions" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentDividendsOrDistributions" xlink:to="us-gaap_EquityMethodInvestmentDividendsOrDistributions_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentDividendsOrDistributions_lbl" xml:lang="en-US">Proceeds from Equity Method Investment, Distribution</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EquityMethodInvestmentDividendsOrDistributions_lbl" xml:lang="en-US">Distribution of earnings from OC-BVI</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillImpairmentLoss" xlink:to="us-gaap_GoodwillImpairmentLoss_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillImpairmentLoss_lbl" xml:lang="en-US">Goodwill, Impairment Loss</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_GoodwillImpairmentLoss_lbl" xml:lang="en-US">Impairment of goodwill</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US">Increase (Decrease) in Operating Capital [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US">Change in:</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset" xlink:label="cwco_IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset" xlink:to="cwco_IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset_lbl" xml:lang="en-US">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 and right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset_lbl" xml:lang="en-US">Increase (Decrease) in Accounts Receivable And Contract with Customer, Asset</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="cwco_IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset_lbl" xml:lang="en-US">Accounts receivable and contract assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US">Increase (Decrease) in Inventories</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US">Inventory</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xml:lang="en-US">Increase (Decrease) in Prepaid Expense and Other Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xml:lang="en-US">Prepaid expenses and other assets</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities" xlink:label="cwco_IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities" xlink:to="cwco_IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities_lbl" xml:lang="en-US">The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and in the aggregate amount of expenses incurred but not yet paid. And in current liabilities classified as other</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities_lbl" xml:lang="en-US">Increase Decrease In Accounts Payable And Accrued Expenses And Other Current Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="cwco_IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities_lbl" xml:lang="en-US">Accounts payable (including related parties), accrued expenses and other current liabilities</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_IncreaseDecreaseInContractLiability" xlink:label="cwco_IncreaseDecreaseInContractLiability" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_IncreaseDecreaseInContractLiability" xlink:to="cwco_IncreaseDecreaseInContractLiability_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_IncreaseDecreaseInContractLiability_lbl" xml:lang="en-US">Amount of increase (decrease) in obligation to transfer good or service  for which consideration has been received or is receivable.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_IncreaseDecreaseInContractLiability_lbl" xml:lang="en-US">Increase (Decrease) in Contract Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_IncreaseDecreaseInContractLiability_lbl" xml:lang="en-US">Contract liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOperatingLiabilities" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingLiabilities" xlink:to="us-gaap_IncreaseDecreaseInOperatingLiabilities_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingLiabilities_lbl" xml:lang="en-US">Increase (Decrease) in Operating Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOperatingLiabilities_lbl" xml:lang="en-US">Operating lease liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:to="us-gaap_IncreaseDecreaseInDeferredRevenue_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue_lbl" xml:lang="en-US">Increase (Decrease) in Deferred Revenue</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue_lbl" xml:lang="en-US">Deferred revenue</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities, Continuing Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_lbl" xml:lang="en-US">Net cash provided by operating activities - continuing operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations" xlink:label="us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations" xlink:to="us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations_lbl" xml:lang="en-US">Cash Provided by (Used in) Operating Activities, Discontinued Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations_lbl" xml:lang="en-US">Net cash used in operating activities - discontinued operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US">Net cash provided by operating activities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US">Cash flows from investing activities</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PaymentsToAcquireCertificatesOfDeposit" xlink:label="cwco_PaymentsToAcquireCertificatesOfDeposit" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_PaymentsToAcquireCertificatesOfDeposit" xlink:to="cwco_PaymentsToAcquireCertificatesOfDeposit_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_PaymentsToAcquireCertificatesOfDeposit_lbl" xml:lang="en-US">The cash outflow from purchase of certificates of deposit.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_PaymentsToAcquireCertificatesOfDeposit_lbl" xml:lang="en-US">Payments to Acquire Certificates of Deposit</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="cwco_PaymentsToAcquireCertificatesOfDeposit_lbl" xml:lang="en-US">Purchase of certificate of deposit</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities" xlink:label="us-gaap_ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities" xlink:to="us-gaap_ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities_lbl" xml:lang="en-US">Proceeds from Sale and Maturity of Held-to-Maturity Securities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities_lbl" xml:lang="en-US">Maturity of certificate(s) of deposit</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US">Additions to property, plant and equipment and construction in progress</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xml:lang="en-US">Proceeds from Sale of Property, Plant, and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xml:lang="en-US">Proceeds from asset dispositions</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US">Net cash used in investing activities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US">Cash flows from financing activities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="us-gaap_PaymentsOfDividendsCommonStock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDividendsCommonStock" xlink:to="us-gaap_PaymentsOfDividendsCommonStock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfDividendsCommonStock_lbl" xml:lang="en-US">Payments of Ordinary Dividends, Common Stock</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsOfDividendsCommonStock_lbl" xml:lang="en-US">Dividends paid to common shareholders</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDividendsPreferredStockAndPreferenceStock" xlink:label="us-gaap_PaymentsOfDividendsPreferredStockAndPreferenceStock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDividendsPreferredStockAndPreferenceStock" xlink:to="us-gaap_PaymentsOfDividendsPreferredStockAndPreferenceStock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfDividendsPreferredStockAndPreferenceStock_lbl" xml:lang="en-US">Payments of Ordinary Dividends, Preferred Stock and Preference Stock</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsOfDividendsPreferredStockAndPreferenceStock_lbl" xml:lang="en-US">Dividends paid to preferred shareholders</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="us-gaap_PaymentsToMinorityShareholders" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToMinorityShareholders" xlink:to="us-gaap_PaymentsToMinorityShareholders_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToMinorityShareholders_lbl" xml:lang="en-US">Payments to Noncontrolling Interests</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToMinorityShareholders_lbl" xml:lang="en-US">Dividends paid to non-controlling interests</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromRepurchaseOfRedeemablePreferredStock" xlink:label="us-gaap_ProceedsFromRepurchaseOfRedeemablePreferredStock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromRepurchaseOfRedeemablePreferredStock" xlink:to="us-gaap_ProceedsFromRepurchaseOfRedeemablePreferredStock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/definitionGuidance" xlink:label="us-gaap_ProceedsFromRepurchaseOfRedeemablePreferredStock_lbl" xml:lang="en-US">Buyback of redeemable preferred stock</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromRepurchaseOfRedeemablePreferredStock_lbl" xml:lang="en-US">Proceeds from (Repurchase of) Redeemable Preferred Stock</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xml:lang="en-US">Proceeds from Stock Options Exercised</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xml:lang="en-US">Proceeds received from exercise of stock options</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfLongTermDebt_lbl" xml:lang="en-US">Repayments of Long-term Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfLongTermDebt_lbl" xml:lang="en-US">Principal repayments on long-term debt</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US">Net cash used in financing activities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl" xml:lang="en-US">Net increase (decrease) in cash and cash equivalents</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Cash and cash equivalents at end of period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Cash and cash equivalents at beginning of period</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xml:lang="en-US">Less: cash and cash equivalents at end of period - discontinued operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xml:lang="en-US">Cash and cash equivalents at beginning of period - discontinued operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xml:lang="en-US">Noncash Investing and Financing Items [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xml:lang="en-US">Non-cash transactions:</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xml:lang="en-US">Non-cash transactions:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssued1" xlink:label="us-gaap_StockIssued1" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssued1" xlink:to="us-gaap_StockIssued1_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssued1_lbl" xml:lang="en-US">Stock Issued</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConversionOfStockAmountConverted1" xlink:label="us-gaap_ConversionOfStockAmountConverted1" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConversionOfStockAmountConverted1" xlink:to="us-gaap_ConversionOfStockAmountConverted1_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConversionOfStockAmountConverted1_lbl" xml:lang="en-US">Conversion of Stock, Amount Converted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ConversionOfStockAmountConverted1_lbl" xml:lang="en-US">Conversion (on a one-to-one basis) of 6,585 and 11,522, respectively, shares of redeemable preferred stock to common stock</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" xml:lang="en-US">Principal activity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NatureOfOperations" xlink:label="us-gaap_NatureOfOperations" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NatureOfOperations" xlink:to="us-gaap_NatureOfOperations_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NatureOfOperations_lbl" xml:lang="en-US">Nature of Operations [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NatureOfOperations_lbl" xml:lang="en-US">Principal activity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xml:lang="en-US">Significant Accounting Policies [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xml:lang="en-US">Accounting policies</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="us-gaap_CashAndCashEquivalentsAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAbstract_lbl" xml:lang="en-US">Cash and cash equivalents</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsDisclosureTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsDisclosureTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsDisclosureTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsDisclosureTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsDisclosureTextBlock_lbl" xml:lang="en-US">Cash and Cash Equivalents Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashAndCashEquivalentsDisclosureTextBlock_lbl" xml:lang="en-US">Cash and cash equivalents</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReceivablesAbstract" xlink:to="us-gaap_ReceivablesAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReceivablesAbstract_lbl" xml:lang="en-US">Accounts receivable, net.</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:to="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl" xml:lang="en-US">Loans, Notes, Trade and Other Receivables Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl" xml:lang="en-US">Accounts receivable, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="us-gaap_InventoryDisclosureAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureAbstract_lbl" xml:lang="en-US">Inventory</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl" xml:lang="en-US">Inventory Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl" xml:lang="en-US">Inventory</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract_lbl" xml:lang="en-US">Contracts in progress</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xml:lang="en-US">Contracts in progress</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xml:lang="en-US">Property, plant and equipment and construction in progress</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xml:lang="en-US">Property, Plant and Equipment Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xml:lang="en-US">Property, plant and equipment and construction in progress</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract" xlink:label="us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract" xlink:to="us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_lbl" xml:lang="en-US">Discontinued operations - Mexico project development</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock" xlink:label="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock" xlink:to="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock_lbl" xml:lang="en-US">Disposal Groups, Including Discontinued Operations, Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock_lbl" xml:lang="en-US">Discontinued operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xml:lang="en-US">Intangible assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US">Intangible Assets Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US">Intangible assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeasesAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeasesAbstract_lbl" xml:lang="en-US">Leases</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US">Lessee, Operating Leases [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US">Leases</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xml:lang="en-US">Income taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US">Income Tax Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US">Income taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl" />
    <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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US">Earnings Per Share [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US">Earnings per share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsAbstract" xlink:label="us-gaap_DividendsAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsAbstract" xlink:to="us-gaap_DividendsAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsAbstract_lbl" xml:lang="en-US">Dividends.</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DividendsTextBlock" xlink:label="cwco_DividendsTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_DividendsTextBlock" xlink:to="cwco_DividendsTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_DividendsTextBlock_lbl" xml:lang="en-US">The entire disclosure for dividends.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_DividendsTextBlock_lbl" xml:lang="en-US">Dividends [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_DividendsTextBlock_lbl" xml:lang="en-US">Dividends</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingAbstract_lbl" xml:lang="en-US">Segment information</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US">Segment Reporting Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US">Segment information</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract" xlink:to="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract_lbl" xml:lang="en-US">Cost of revenues and general and administrative expenses</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock" xlink:to="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock_lbl" xml:lang="en-US">Tabular disclosure for cost of revenues and general and administrative expenses.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock_lbl" xml:lang="en-US">Cost Of Revenues And General And Administrative Expenses [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock_lbl" xml:lang="en-US">Cost of revenues and general and administrative expenses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xml:lang="en-US">Stock-based compensation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US">Share-based Payment Arrangement [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US">Stock-based compensation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl" xml:lang="en-US">Retirement benefits</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl" xml:lang="en-US">Pension and Other Postretirement Benefits Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl" xml:lang="en-US">Retirement benefits</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsAllOtherInvestmentsAbstract" xlink:label="us-gaap_InvestmentsAllOtherInvestmentsAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentsAllOtherInvestmentsAbstract" xlink:to="us-gaap_InvestmentsAllOtherInvestmentsAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentsAllOtherInvestmentsAbstract_lbl" xml:lang="en-US">Financial instruments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentsDisclosureTextBlock" xlink:label="us-gaap_FinancialInstrumentsDisclosureTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancialInstrumentsDisclosureTextBlock" xlink:to="us-gaap_FinancialInstrumentsDisclosureTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinancialInstrumentsDisclosureTextBlock_lbl" xml:lang="en-US">Financial Instruments Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinancialInstrumentsDisclosureTextBlock_lbl" xml:lang="en-US">Financial instruments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" />
    <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.</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" />
    <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 Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US">Contingencies</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="us-gaap_RelatedPartyTransactionsAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsAbstract_lbl" xml:lang="en-US">Related party transactions</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xml:lang="en-US">Related Party Transactions Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xml:lang="en-US">Related party transactions</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalCashFlowElementsAbstract" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_SupplementalCashFlowElementsAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract_lbl" xml:lang="en-US">Supplemental disclosure of cash flow information</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashFlowSupplementalDisclosuresTextBlock" xlink:label="us-gaap_CashFlowSupplementalDisclosuresTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashFlowSupplementalDisclosuresTextBlock" xlink:to="us-gaap_CashFlowSupplementalDisclosuresTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashFlowSupplementalDisclosuresTextBlock_lbl" xml:lang="en-US">Cash Flow, Supplemental Disclosures [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashFlowSupplementalDisclosuresTextBlock_lbl" xml:lang="en-US">Supplemental disclosure of cash flow information</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract_lbl" xml:lang="en-US">Impact of recent accounting standards</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_lbl" xml:lang="en-US">New Accounting Pronouncements and Changes in Accounting Principles [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_lbl" xml:lang="en-US">Impact of recent accounting standards</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsAbstract_lbl" xml:lang="en-US">Subsequent events</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xml:lang="en-US">Subsequent Events [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xml:lang="en-US">Subsequent events</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" />
    <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 Accounting, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xml:lang="en-US">Basis of preparation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UseOfEstimates_lbl" xml:lang="en-US">Use of Estimates, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UseOfEstimates_lbl" xml:lang="en-US">Use of estimates</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl" xml:lang="en-US">Consolidation, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl" xml:lang="en-US">Basis of consolidation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xml:lang="en-US">Foreign Currency Transactions and Translations Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xml:lang="en-US">Foreign currency</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xml:lang="en-US">Cash and Cash Equivalents, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xml:lang="en-US">Cash and cash equivalents</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl" xml:lang="en-US">Trade and Other Accounts Receivable, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl" xml:lang="en-US">Accounts receivable and allowance for doubtful accounts</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xml:lang="en-US">Inventory, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xml:lang="en-US">Inventory</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xml:lang="en-US">Revenue from Contract with Customer [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xml:lang="en-US">Contract assets and liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US">Property, Plant and Equipment, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US">Property, plant and equipment, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xml:lang="en-US">Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xml:lang="en-US">Long-lived assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xml:lang="en-US">Goodwill and Intangible Assets, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xml:lang="en-US">Goodwill and intangible assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentPolicyTextBlock" xlink:label="us-gaap_InvestmentPolicyTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentPolicyTextBlock" xlink:to="us-gaap_InvestmentPolicyTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentPolicyTextBlock_lbl" xml:lang="en-US">Investment, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InvestmentPolicyTextBlock_lbl" xml:lang="en-US">Investments</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OtherAssetsPolicyTextBlock" xlink:label="cwco_OtherAssetsPolicyTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_OtherAssetsPolicyTextBlock" xlink:to="cwco_OtherAssetsPolicyTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_OtherAssetsPolicyTextBlock_lbl" xml:lang="en-US">Disclosure of accounting policy for other assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_OtherAssetsPolicyTextBlock_lbl" xml:lang="en-US">Other Assets [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_OtherAssetsPolicyTextBlock_lbl" xml:lang="en-US">Other assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US">Income Tax, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US">Income taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRecognitionPolicyTextBlock" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xml:lang="en-US">Revenue Recognition, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xml:lang="en-US">Revenue recognition</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:label="us-gaap_PriorPeriodReclassificationAdjustmentDescription" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:to="us-gaap_PriorPeriodReclassificationAdjustmentDescription_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PriorPeriodReclassificationAdjustmentDescription_lbl" xml:lang="en-US">Reclassification, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PriorPeriodReclassificationAdjustmentDescription_lbl" xml:lang="en-US">Comparative amounts</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" xlink:label="cwco_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" xlink:to="cwco_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_lbl" xml:lang="en-US">Disclosure of accounting policy for schedule of property plant and equipment useful life.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_lbl" xml:lang="en-US">Schedule Of Property Plant And Equipment Useful Life [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_lbl" xml:lang="en-US">Schedule of Estimated useful lives</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xml:lang="en-US">Disaggregation of Revenue [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xml:lang="en-US">Schedule of Disaggregation of revenue</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock" xlink:to="us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock_lbl" xml:lang="en-US">Schedule of Cash and Cash Equivalents [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock_lbl" xml:lang="en-US">Schedule of Cash and cash equivalents</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl" xml:lang="en-US">Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl" xml:lang="en-US">Schedule of Accounts receivable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:label="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:to="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_lbl" xml:lang="en-US">Allowance for Credit Losses on Financing Receivables [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_lbl" xml:lang="en-US">Schedule of Allowance for doubtful accounts</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryNoncurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryNoncurrentTableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryNoncurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryNoncurrentTableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfInventoryNoncurrentTableTextBlock_lbl" xml:lang="en-US">Schedule of Inventory, Noncurrent [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfInventoryNoncurrentTableTextBlock_lbl" xml:lang="en-US">Schedule of Inventory</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock" xlink:label="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock" xlink:to="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock_lbl" xml:lang="en-US">Tabular disclosure for revenue recognized and amounts billed with regard to contracts with customers in progress.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock_lbl" xml:lang="en-US">Contract With Customer, In Progress, Revenue Recognized And Amounts Billed [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock_lbl" xml:lang="en-US">Summary of information relative to revenue recognized and amounts billed on contracts in progress</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xml:lang="en-US">Schedule of Property, plant and equipment and construction in progress</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock" xlink:label="us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock" xlink:to="us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock_lbl" xml:lang="en-US">Disposal Groups, Including Discontinued Operations [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock_lbl" xml:lang="en-US">Schedule of financial information for Mexico project development</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock" xlink:label="cwco_LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock" xlink:to="cwco_LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Disclosure of accounting policy for lessee operating lease related assets and liabilities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Lessee Operating Lease related Assets And Liabilities [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="cwco_LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Schedule of lease-related assets and liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCostTableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseCostTableTextBlock_lbl" xml:lang="en-US">Schedule of Lease, Cost [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LeaseCostTableTextBlock_lbl" xml:lang="en-US">Schedule of Lease, Cost</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:label="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:to="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock_lbl" xml:lang="en-US">Schedule of Cash Flow, Supplemental Disclosures [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock_lbl" xml:lang="en-US">Schedule of Cash Flow, Supplemental</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US">Schedule of future lease payments relating to the Company's operating lease liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:to="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_lbl" xml:lang="en-US">Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_lbl" xml:lang="en-US">Schedule of components of income before income taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xml:lang="en-US">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xml:lang="en-US">Schedule of provision for income taxes deferred tax benefit relating to U.S. operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US">Schedule of reconciliation of federal tax rate to the effective rate</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Schedule of tax effects of significant items net long-term deferred tax assets liability</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US">Schedule of computation of basic and diluted EPS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsDeclaredTableTextBlock" xlink:label="us-gaap_DividendsDeclaredTableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsDeclaredTableTextBlock" xlink:to="us-gaap_DividendsDeclaredTableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsDeclaredTableTextBlock_lbl" xml:lang="en-US">Dividends Declared [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DividendsDeclaredTableTextBlock_lbl" xml:lang="en-US">Schedule of dividends</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xml:lang="en-US">Schedule of segment reporting information, by segment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:to="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xml:lang="en-US">Schedule of revenue from external customers attributed to Foreign Countries by Geographic Area [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xml:lang="en-US">Schedule of revenues earned by major geographic region</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:to="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_lbl" xml:lang="en-US">Long-lived Assets by Geographic Areas [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_lbl" xml:lang="en-US">Schedule of long-lived assets by geographic areas</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock" xlink:to="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock_lbl" xml:lang="en-US">Tabular disclosure for cost of revenues and general and administrative expenses.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock_lbl" xml:lang="en-US">Cost Of Revenues And General And Administrative Expenses [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock_lbl" xml:lang="en-US">Schedule of cost of revenues and general and administrative expenses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xml:lang="en-US">Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xml:lang="en-US">Schedule of significant weighted average assumptions</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xml:lang="en-US">Share-based Compensation, Stock Options, Activity [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xml:lang="en-US">Schedule of company's stock option activity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" xlink:label="us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" xlink:to="us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock_lbl" xml:lang="en-US">Disclosure of Share-based Compensation Arrangements by Share-based Payment Award [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock_lbl" xml:lang="en-US">Schedule of weighted average fair value of options at the date of grant and the intrinsic value</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_lbl" xml:lang="en-US">Fair Value Measurements, Recurring and Nonrecurring [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_lbl" xml:lang="en-US">Schedule of Fair value hierarchy for assets and liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_lbl" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_lbl" xml:lang="en-US">Schedule of Net liability arising from put/call options</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ScheduleOfSupplementalDisclosureOfCashFlowInformation" xlink:label="cwco_ScheduleOfSupplementalDisclosureOfCashFlowInformation" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ScheduleOfSupplementalDisclosureOfCashFlowInformation" xlink:to="cwco_ScheduleOfSupplementalDisclosureOfCashFlowInformation_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_ScheduleOfSupplementalDisclosureOfCashFlowInformation_lbl" xml:lang="en-US">The entire disclosure for supplemental cash flow activities, including cash, noncash, and part noncash transactions, for the period. Noncash is defined as information about all investing and financing activities of an enterprise during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. "Part noncash" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ScheduleOfSupplementalDisclosureOfCashFlowInformation_lbl" xml:lang="en-US">Schedule of Supplemental Disclosure of Cash Flow Information</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_ScheduleOfSupplementalDisclosureOfCashFlowInformation_lbl" xml:lang="en-US">Schedule of Supplemental disclosure of cash flow information</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessAcquisitionAxis_lbl" xml:lang="en-US">Business Acquisition [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_lbl" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AerexIndustriesIncMember" xlink:label="cwco_AerexIndustriesIncMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_AerexIndustriesIncMember" xlink:to="cwco_AerexIndustriesIncMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_AerexIndustriesIncMember_lbl" xml:lang="en-US">Represents information pertaining to Aerex Industries, Inc.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_AerexIndustriesIncMember_lbl" xml:lang="en-US">Aerex</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PercWaterCorporationMember" xlink:label="cwco_PercWaterCorporationMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_PercWaterCorporationMember" xlink:to="cwco_PercWaterCorporationMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_PercWaterCorporationMember_lbl" xml:lang="en-US">This member stands for PERC Water Corporation.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_PercWaterCorporationMember_lbl" xml:lang="en-US">PERC Water Corporation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_OwnershipAxis_lbl" xml:lang="en-US">Ownership [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_OwnershipDomain" xlink:to="srt_OwnershipDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_OwnershipDomain_lbl" xml:lang="en-US">Ownership [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xml:lang="en-US">Concentration Risk Benchmark [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xml:lang="en-US">Concentration Risk Benchmark [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl" />
    <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]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_GrossProfitMember" xlink:label="cwco_GrossProfitMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_GrossProfitMember" xlink:to="cwco_GrossProfitMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_GrossProfitMember_lbl" xml:lang="en-US">Refers to gross profit member.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_GrossProfitMember_lbl" xml:lang="en-US">Gross Profit [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xml:lang="en-US">Concentration Risk Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskTypeDomain_lbl" xml:lang="en-US">Concentration Risk Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember_lbl" />
    <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]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTypeAxis_lbl" xml:lang="en-US">Subsequent Event Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventTypeDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTypeDomain_lbl" xml:lang="en-US">Subsequent Event Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventMember_lbl" xml:lang="en-US">Subsequent Event [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_lbl" xml:lang="en-US">Business Acquisition, Percentage of Voting Interests Acquired</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_lbl" xml:lang="en-US">Ownership interest acquired</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent_lbl" xml:lang="en-US">Noncontrolling Interest, Ownership Percentage by Parent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent_lbl" xml:lang="en-US">Ownership interest held</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_lbl" xml:lang="en-US">Stock Issued During Period, Shares, Acquisitions</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_lbl" xml:lang="en-US">Shares of the Company's common stock</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xml:lang="en-US">Business Combination, Consideration Transferred</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xml:lang="en-US">Cash</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestCostsCapitalized" xlink:label="us-gaap_InterestCostsCapitalized" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestCostsCapitalized" xlink:to="us-gaap_InterestCostsCapitalized_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestCostsCapitalized_lbl" xml:lang="en-US">Interest Costs Capitalized</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestCostsCapitalized_lbl" xml:lang="en-US">Interest Capitalized</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US">Concentration Risk, Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US">Percentage of total</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NumberOfCustomers" xlink:label="cwco_NumberOfCustomers" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_NumberOfCustomers" xlink:to="cwco_NumberOfCustomers_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_NumberOfCustomers_lbl" xml:lang="en-US">Refers to the number of customers.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_NumberOfCustomers_lbl" xml:lang="en-US">Number of Customers</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAxis" xlink:label="us-gaap_CashAndCashEquivalentsAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_CashAndCashEquivalentsAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAxis_lbl" xml:lang="en-US">Cash and Cash Equivalents [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_lbl" xml:lang="en-US">Cash and Cash Equivalents [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CertificatesOfDepositMember" xlink:label="us-gaap_CertificatesOfDepositMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CertificatesOfDepositMember" xlink:to="us-gaap_CertificatesOfDepositMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CertificatesOfDepositMember_lbl" xml:lang="en-US">Certificate of deposit</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementGeographicalAxis_lbl" xml:lang="en-US">Geographical [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_SegmentGeographicalDomain_lbl" xml:lang="en-US">Geographical [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_BS" xlink:label="country_BS" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_BS" xlink:to="country_BS_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_BS_lbl" xml:lang="en-US">Bahamas [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents [Abstract]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xml:lang="en-US">Foreign Currency Transaction Gain (Loss), before Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xml:lang="en-US">Net foreign currency gains</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashEquivalentsAtCarryingValue" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashEquivalentsAtCarryingValue_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Cash Equivalents, at Carrying Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Cash and cash equivalents</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Short term deposits</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashUninsuredAmount" xlink:label="us-gaap_CashUninsuredAmount" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashUninsuredAmount" xlink:to="us-gaap_CashUninsuredAmount_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashUninsuredAmount_lbl" xml:lang="en-US">Cash, Uninsured Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashUninsuredAmount_lbl" xml:lang="en-US">Deposits</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CashAndRestrictedCashEquivalentsHeldInForeignBank" xlink:label="cwco_CashAndRestrictedCashEquivalentsHeldInForeignBank" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_CashAndRestrictedCashEquivalentsHeldInForeignBank" xlink:to="cwco_CashAndRestrictedCashEquivalentsHeldInForeignBank_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_CashAndRestrictedCashEquivalentsHeldInForeignBank_lbl" xml:lang="en-US">Represents the amount cash held in foreign bank accounts including restricted cash.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_CashAndRestrictedCashEquivalentsHeldInForeignBank_lbl" xml:lang="en-US">Cash And Restricted Cash Equivalents Held In Foreign Bank</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_CashAndRestrictedCashEquivalentsHeldInForeignBank_lbl" xml:lang="en-US">Cash held in foreign bank accounts</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DepositsHeldInForeignBank" xlink:label="cwco_DepositsHeldInForeignBank" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_DepositsHeldInForeignBank" xlink:to="cwco_DepositsHeldInForeignBank_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_DepositsHeldInForeignBank_lbl" xml:lang="en-US">Amount of deposits held in foreign banks, as stated in equivalent United States dollars.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_DepositsHeldInForeignBank_lbl" xml:lang="en-US">Deposits held in foreign bank</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xml:lang="en-US">Property, Plant and Equipment, Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" xml:lang="en-US">Property, Plant and Equipment, Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingMember" xlink:to="us-gaap_BuildingMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BuildingMember_lbl" xml:lang="en-US">Building [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PlantAndEquipmentMember" xlink:label="cwco_PlantAndEquipmentMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_PlantAndEquipmentMember" xlink:to="cwco_PlantAndEquipmentMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_PlantAndEquipmentMember_lbl" xml:lang="en-US">Plant And Equipment [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DistributionSystemsMember" xlink:label="cwco_DistributionSystemsMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_DistributionSystemsMember" xlink:to="cwco_DistributionSystemsMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_DistributionSystemsMember_lbl" xml:lang="en-US">Distribution Systems [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FurnitureAndFixturesMember" xlink:to="us-gaap_FurnitureAndFixturesMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FurnitureAndFixturesMember_lbl" xml:lang="en-US">Office furniture, fixtures and equipment [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VehiclesMember" xlink:to="us-gaap_VehiclesMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VehiclesMember_lbl" xml:lang="en-US">Vehicles [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseholdImprovementsMember_lbl" xml:lang="en-US">Leasehold Improvements [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_LabEquipmentMember" xlink:label="cwco_LabEquipmentMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_LabEquipmentMember" xlink:to="cwco_LabEquipmentMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_LabEquipmentMember_lbl" xml:lang="en-US">Lab equipment [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeAxis_lbl" xml:lang="en-US">Range [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeMember" xlink:to="srt_RangeMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeMember_lbl" xml:lang="en-US">Range [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US">Maximum [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US">Minimum [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xml:lang="en-US">Property, Plant and Equipment, Useful Life</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives" xlink:label="us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives" xlink:to="us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives_lbl" xml:lang="en-US">Property, Plant and Equipment, Estimated Useful Lives</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_FairValueDeterminingMethodAxis" xlink:label="cwco_FairValueDeterminingMethodAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_FairValueDeterminingMethodAxis" xlink:to="cwco_FairValueDeterminingMethodAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_FairValueDeterminingMethodAxis_lbl" xml:lang="en-US">Fair Value Determining Method [Axis]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_FairValueDeterminingMethodDomain" xlink:label="cwco_FairValueDeterminingMethodDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_FairValueDeterminingMethodDomain" xlink:to="cwco_FairValueDeterminingMethodDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_FairValueDeterminingMethodDomain_lbl" xml:lang="en-US">Fair Value Determining Method [Domain]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DiscountedCashFlowMethodMember" xlink:label="cwco_DiscountedCashFlowMethodMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_DiscountedCashFlowMethodMember" xlink:to="cwco_DiscountedCashFlowMethodMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_DiscountedCashFlowMethodMember_lbl" xml:lang="en-US">Discounted Cash Flow Method [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_GuidelinePublicCompanyMethodMember" xlink:label="cwco_GuidelinePublicCompanyMethodMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_GuidelinePublicCompanyMethodMember" xlink:to="cwco_GuidelinePublicCompanyMethodMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_GuidelinePublicCompanyMethodMember_lbl" xml:lang="en-US">Guideline Public Company Method [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_StatementBusinessSegmentsAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementBusinessSegmentsAxis_lbl" xml:lang="en-US">Segments [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentDomain" xlink:to="us-gaap_SegmentDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentDomain_lbl" xml:lang="en-US">Segments [Domain]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SegmentRetailMember" xlink:label="cwco_SegmentRetailMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_SegmentRetailMember" xlink:to="cwco_SegmentRetailMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_SegmentRetailMember_lbl" xml:lang="en-US">Represents the information pertaining to Retail.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_SegmentRetailMember_lbl" xml:lang="en-US">Retail [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_BulkMember" xlink:label="cwco_BulkMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_BulkMember" xlink:to="cwco_BulkMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_BulkMember_lbl" xml:lang="en-US">Bulk [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ServicesMember" xlink:label="cwco_ServicesMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ServicesMember" xlink:to="cwco_ServicesMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ServicesMember_lbl" xml:lang="en-US">Services [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ManufacturingUnitsMember" xlink:label="cwco_ManufacturingUnitsMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ManufacturingUnitsMember" xlink:to="cwco_ManufacturingUnitsMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ManufacturingUnitsMember_lbl" xml:lang="en-US">Manufacturing Units [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EstimatedFairValuePercentageSegmentReportingInformation" xlink:label="cwco_EstimatedFairValuePercentageSegmentReportingInformation" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_EstimatedFairValuePercentageSegmentReportingInformation" xlink:to="cwco_EstimatedFairValuePercentageSegmentReportingInformation_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_EstimatedFairValuePercentageSegmentReportingInformation_lbl" xml:lang="en-US">Represents the estimated fair value of reporting segments.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_EstimatedFairValuePercentageSegmentReportingInformation_lbl" xml:lang="en-US">Estimated Fair Value Percentage Segment Reporting Information</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="cwco_EstimatedFairValuePercentageSegmentReportingInformation_lbl" xml:lang="en-US">Estimated Fair Value Percentage Segment Reporting Information</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EstimatedFairValueCarryingAmountExceededPercentage" xlink:label="cwco_EstimatedFairValueCarryingAmountExceededPercentage" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_EstimatedFairValueCarryingAmountExceededPercentage" xlink:to="cwco_EstimatedFairValueCarryingAmountExceededPercentage_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_EstimatedFairValueCarryingAmountExceededPercentage_lbl" xml:lang="en-US">Represents the exceeded percentage of estimated fair value of reporting segments.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_EstimatedFairValueCarryingAmountExceededPercentage_lbl" xml:lang="en-US">Estimated Fair Value carrying Amount Exceeded Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_EstimatedFairValueCarryingAmountExceededPercentage_lbl" xml:lang="en-US">Estimated Fair Value Carrying Amount Exceeded Percentage</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CapitalizedEngineeringLaborAndMaterialsCostMember" xlink:label="cwco_CapitalizedEngineeringLaborAndMaterialsCostMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_CapitalizedEngineeringLaborAndMaterialsCostMember" xlink:to="cwco_CapitalizedEngineeringLaborAndMaterialsCostMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_CapitalizedEngineeringLaborAndMaterialsCostMember_lbl" xml:lang="en-US">Capitalized Engineering Labor and Materials Cost [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CriteriaForRecognizingInvestmentAtCost" xlink:label="cwco_CriteriaForRecognizingInvestmentAtCost" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_CriteriaForRecognizingInvestmentAtCost" xlink:to="cwco_CriteriaForRecognizingInvestmentAtCost_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_CriteriaForRecognizingInvestmentAtCost_lbl" xml:lang="en-US">Represents the conditions to recognize the investment value in cost.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_CriteriaForRecognizingInvestmentAtCost_lbl" xml:lang="en-US">Criteria For Recognizing Investment At Cost</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_CriteriaForRecognizingInvestmentAtCost_lbl" xml:lang="en-US">Criteria for recognizing investment at cost</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentAdditionalInformation" xlink:label="us-gaap_EquityMethodInvestmentAdditionalInformation" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentAdditionalInformation" xlink:to="us-gaap_EquityMethodInvestmentAdditionalInformation_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentAdditionalInformation_lbl" xml:lang="en-US">Equity Method Investment, Additional Information</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedAmortizationOfOtherDeferredCosts" xlink:label="us-gaap_AccumulatedAmortizationOfOtherDeferredCosts" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedAmortizationOfOtherDeferredCosts" xlink:to="us-gaap_AccumulatedAmortizationOfOtherDeferredCosts_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedAmortizationOfOtherDeferredCosts_lbl" xml:lang="en-US">Accumulated Amortization of Other Deferred Costs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssets" xlink:label="us-gaap_OtherAssets" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssets" xlink:to="us-gaap_OtherAssets_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssets_lbl" xml:lang="en-US">Other Assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAmortizationOfDeferredCharges" xlink:label="us-gaap_OtherAmortizationOfDeferredCharges" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAmortizationOfDeferredCharges" xlink:to="us-gaap_OtherAmortizationOfDeferredCharges_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAmortizationOfDeferredCharges_lbl" xml:lang="en-US">Amortization of Other Deferred Charges</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AmountRequiredToReduceAmountOfWaterLostByPublicWaterDistributionSystem" xlink:label="cwco_AmountRequiredToReduceAmountOfWaterLostByPublicWaterDistributionSystem" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_AmountRequiredToReduceAmountOfWaterLostByPublicWaterDistributionSystem" xlink:to="cwco_AmountRequiredToReduceAmountOfWaterLostByPublicWaterDistributionSystem_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_AmountRequiredToReduceAmountOfWaterLostByPublicWaterDistributionSystem_lbl" xml:lang="en-US">The amount required to reduce the amount of water lost by the public water distribution system.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_AmountRequiredToReduceAmountOfWaterLostByPublicWaterDistributionSystem_lbl" xml:lang="en-US">Amount Required To Reduce Amount Of Water Lost By Public Water Distribution System</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_AmountRequiredToReduceAmountOfWaterLostByPublicWaterDistributionSystem_lbl" xml:lang="en-US">Amount required to reduce the amount of water lost by the public water distribution system</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_RetailRevenuesMember" xlink:label="cwco_RetailRevenuesMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_RetailRevenuesMember" xlink:to="cwco_RetailRevenuesMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_RetailRevenuesMember_lbl" xml:lang="en-US">Retail revenue [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_BulkRevenuesMember" xlink:label="cwco_BulkRevenuesMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_BulkRevenuesMember" xlink:to="cwco_BulkRevenuesMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_BulkRevenuesMember_lbl" xml:lang="en-US">Bulk revenue [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ServicesRevenuesMember" xlink:label="cwco_ServicesRevenuesMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ServicesRevenuesMember" xlink:to="cwco_ServicesRevenuesMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ServicesRevenuesMember_lbl" xml:lang="en-US">Services revenue [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ManufacturingRevenuesMember" xlink:label="cwco_ManufacturingRevenuesMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ManufacturingRevenuesMember" xlink:to="cwco_ManufacturingRevenuesMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ManufacturingRevenuesMember_lbl" xml:lang="en-US">Manufacturing revenue [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NumberOfDaysAfterConsumptionBillingsAreCollected" xlink:label="cwco_NumberOfDaysAfterConsumptionBillingsAreCollected" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_NumberOfDaysAfterConsumptionBillingsAreCollected" xlink:to="cwco_NumberOfDaysAfterConsumptionBillingsAreCollected_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_NumberOfDaysAfterConsumptionBillingsAreCollected_lbl" xml:lang="en-US">The number of days after consumption billings are collected.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_NumberOfDaysAfterConsumptionBillingsAreCollected_lbl" xml:lang="en-US">Number Of Days After Consumption Billings Are Collected</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_NumberOfDaysAfterConsumptionBillingsAreCollected_lbl" xml:lang="en-US">Number of days after consumption billings are collected</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue" xlink:label="cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue" xlink:to="cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue_lbl" xml:lang="en-US">The number of days after consumption billings are considered past due.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue_lbl" xml:lang="en-US">Number Of Days After Consumption Billings Are Considered Past Due</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue_lbl" xml:lang="en-US">Number of days after consumption billings are considered past due</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTable" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:to="us-gaap_ScheduleOfCashAndCashEquivalentsTable_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTable_lbl" xml:lang="en-US">Schedule of Cash and Cash Equivalents [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CurrencyAxis" xlink:label="srt_CurrencyAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CurrencyAxis" xlink:to="srt_CurrencyAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_CurrencyAxis_lbl" xml:lang="en-US">Currency [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_AllCurrenciesDomain" xlink:label="currency_AllCurrenciesDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="currency_AllCurrenciesDomain" xlink:to="currency_AllCurrenciesDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="currency_AllCurrenciesDomain_lbl" xml:lang="en-US">All Currencies [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_USD" xlink:label="currency_USD" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="currency_USD" xlink:to="currency_USD_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="currency_USD_lbl" xml:lang="en-US">United States dollar [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_KYD" xlink:label="currency_KYD" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="currency_KYD" xlink:to="currency_KYD_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="currency_KYD_lbl" xml:lang="en-US">Cayman Islands dollar [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_BSD" xlink:label="currency_BSD" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="currency_BSD" xlink:to="currency_BSD_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="currency_BSD_lbl" xml:lang="en-US">Bahamian dollar [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsLineItems" xlink:label="us-gaap_CashAndCashEquivalentsLineItems" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="us-gaap_CashAndCashEquivalentsLineItems_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsLineItems_lbl" xml:lang="en-US">Cash and Cash Equivalents [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Cash" xlink:to="us-gaap_Cash_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Cash_lbl" xml:lang="en-US">Cash</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Cash_lbl" xml:lang="en-US">Bank accounts</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_lbl" xml:lang="en-US">Schedule of Accounts, Notes, Loans and Financing Receivable [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:label="us-gaap_AccountsNotesAndLoansReceivableLineItems" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:to="us-gaap_AccountsNotesAndLoansReceivableLineItems_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsNotesAndLoansReceivableLineItems_lbl" xml:lang="en-US">Accounts, Notes, Loans and Financing Receivable [Line Items]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AccountsReceivableTradeCurrent" xlink:label="cwco_AccountsReceivableTradeCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_AccountsReceivableTradeCurrent" xlink:to="cwco_AccountsReceivableTradeCurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_AccountsReceivableTradeCurrent_lbl" xml:lang="en-US">Carrying value as of the balance sheet date of trade receivables. Used to reflect the current portion of the assets (receivable within one year or within the normal operating cycle if longer).</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_AccountsReceivableTradeCurrent_lbl" xml:lang="en-US">Accounts Receivable Trade Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="cwco_AccountsReceivableTradeCurrent_lbl" xml:lang="en-US">Trade accounts receivable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueFromAffiliateCurrent" xlink:label="us-gaap_DueFromAffiliateCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DueFromAffiliateCurrent" xlink:to="us-gaap_DueFromAffiliateCurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DueFromAffiliateCurrent_lbl" xml:lang="en-US">Due from Affiliate, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DueFromAffiliateCurrent_lbl" xml:lang="en-US">Receivable from OC-BVI</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AccountsReceivableOtherCurrent" xlink:label="cwco_AccountsReceivableOtherCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_AccountsReceivableOtherCurrent" xlink:to="cwco_AccountsReceivableOtherCurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_AccountsReceivableOtherCurrent_lbl" xml:lang="en-US">Carrying value as of the balance sheet date of other receivables. Used to reflect the current portion of the assets (receivable within one year or within the normal operating cycle if longer).</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_AccountsReceivableOtherCurrent_lbl" xml:lang="en-US">Accounts Receivable Other Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="cwco_AccountsReceivableOtherCurrent_lbl" xml:lang="en-US">Other accounts receivable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableGrossCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableGrossCurrent_lbl" xml:lang="en-US">Accounts Receivable, Gross, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AccountsReceivableGrossCurrent_lbl" xml:lang="en-US">Accounts Receivable, Gross, Current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US">Allowance for Doubtful Accounts Receivable, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US">Allowance for doubtful accounts</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US">Ending allowance for doubtful accounts</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US">Opening allowance for doubtful accounts</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US">Provision for Doubtful Accounts</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US">Provision for doubtful accounts</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl" xml:lang="en-US">Allowance for Doubtful Accounts Receivable, Write-offs</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl" xml:lang="en-US">Accounts written off during the year</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries_lbl" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Recovery</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries_lbl" xml:lang="en-US">Recovery of accounts written off</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryCurrentTable" xlink:label="us-gaap_InventoryCurrentTable" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryCurrentTable" xlink:to="us-gaap_InventoryCurrentTable_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryCurrentTable_lbl" xml:lang="en-US">Inventory, Current [Table]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_WaterStockMember" xlink:label="cwco_WaterStockMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_WaterStockMember" xlink:to="cwco_WaterStockMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_WaterStockMember_lbl" xml:lang="en-US">Water stock [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ConsumablesStockMember" xlink:label="cwco_ConsumablesStockMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ConsumablesStockMember" xlink:to="cwco_ConsumablesStockMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ConsumablesStockMember_lbl" xml:lang="en-US">Consumables stock [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SparePartsStockMember" xlink:label="cwco_SparePartsStockMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_SparePartsStockMember" xlink:to="cwco_SparePartsStockMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_SparePartsStockMember_lbl" xml:lang="en-US">Spare parts stock [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryLineItems" xlink:label="us-gaap_InventoryLineItems" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryLineItems_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryLineItems_lbl" xml:lang="en-US">Inventory [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryGross" xlink:label="us-gaap_InventoryGross" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryGross" xlink:to="us-gaap_InventoryGross_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryGross_lbl" xml:lang="en-US">Inventory, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryGross_lbl" xml:lang="en-US">Total inventory</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureTable" xlink:label="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureTable" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureTable" xlink:to="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureTable_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureTable_lbl" xml:lang="en-US">Disclosure of information about revenue recognized and amounts billed with regard to contracts with customers in progress.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureTable_lbl" xml:lang="en-US">Contract With Customer, In Progress, Revenue Recognized And Amounts Billed, Disclosure [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_lbl" />
    <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]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" xlink:label="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" xlink:to="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems_lbl" xml:lang="en-US">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>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems_lbl" xml:lang="en-US">Contract With Customer, In Progress, Revenue Recognized And Amounts Billed, Disclosure [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xml:lang="en-US">Revenue from Contract with Customer, Including Assessed Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xml:lang="en-US">Revenues recognized to date on contracts in process</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerAmountBilled" xlink:label="cwco_ContractWithCustomerAmountBilled" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ContractWithCustomerAmountBilled" xlink:to="cwco_ContractWithCustomerAmountBilled_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_ContractWithCustomerAmountBilled_lbl" xml:lang="en-US">The amount billed for contracts with customers during the period.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ContractWithCustomerAmountBilled_lbl" xml:lang="en-US">Contract With Customer, Amount Billed</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="cwco_ContractWithCustomerAmountBilled_lbl" xml:lang="en-US">Amounts billed to date on contracts in process</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerRetainage" xlink:label="cwco_ContractWithCustomerRetainage" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ContractWithCustomerRetainage" xlink:to="cwco_ContractWithCustomerRetainage_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_ContractWithCustomerRetainage_lbl" xml:lang="en-US">Amount of retainage with contract for customers.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ContractWithCustomerRetainage_lbl" xml:lang="en-US">Contract With Customer Retainage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_ContractWithCustomerRetainage_lbl" xml:lang="en-US">Retainage</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerNetOverbillings" xlink:label="cwco_ContractWithCustomerNetOverbillings" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ContractWithCustomerNetOverbillings" xlink:to="cwco_ContractWithCustomerNetOverbillings_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_ContractWithCustomerNetOverbillings_lbl" xml:lang="en-US">The net amount of overbillings for contracts with customers, during the period.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ContractWithCustomerNetOverbillings_lbl" xml:lang="en-US">Contract With Customer, Net Overbillings</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="cwco_ContractWithCustomerNetOverbillings_lbl" xml:lang="en-US">Net contract asset (liability)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xml:lang="en-US">Revenue, Remaining Performance Obligation, Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xml:lang="en-US">Revenue remaining performance obligation, Amount</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xml:lang="en-US">Contract with Customer, Liability, Revenue Recognized</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xml:lang="en-US">Amount recognized revenue included in the contract liability balance</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_BalanceSheetLocationAbstract" xlink:label="cwco_BalanceSheetLocationAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_BalanceSheetLocationAbstract" xlink:to="cwco_BalanceSheetLocationAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_BalanceSheetLocationAbstract_lbl" xml:lang="en-US">No definition available.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_BalanceSheetLocationAbstract_lbl" xml:lang="en-US">Balance Sheet location</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xml:lang="en-US">Property, Plant and Equipment [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LandMember" xlink:to="us-gaap_LandMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LandMember_lbl" xml:lang="en-US">Land [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US">Property, Plant and Equipment [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xml:lang="en-US">Property, Plant and Equipment, Gross</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xml:lang="en-US">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xml:lang="en-US">Less accumulated depreciation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConstructionInProgressGross" xlink:to="us-gaap_ConstructionInProgressGross_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConstructionInProgressGross_lbl" xml:lang="en-US">Construction in Progress, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ConstructionInProgressGross_lbl" xml:lang="en-US">Construction in progress</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CapitalCommitments" xlink:label="cwco_CapitalCommitments" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_CapitalCommitments" xlink:to="cwco_CapitalCommitments_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_CapitalCommitments_lbl" xml:lang="en-US">Amount of capital commitments outstanding.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_CapitalCommitments_lbl" xml:lang="en-US">Capital Commitments</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ConstructionInProgressPlacedInService" xlink:label="cwco_ConstructionInProgressPlacedInService" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ConstructionInProgressPlacedInService" xlink:to="cwco_ConstructionInProgressPlacedInService_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_ConstructionInProgressPlacedInService_lbl" xml:lang="en-US">Represents the amount of construction in progress placed in service.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ConstructionInProgressPlacedInService_lbl" xml:lang="en-US">Construction In Progress Placed In Service</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Depreciation_lbl" xml:lang="en-US">Depreciation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInvestmentsTable" xlink:label="us-gaap_ScheduleOfInvestmentsTable" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInvestmentsTable" xlink:to="us-gaap_ScheduleOfInvestmentsTable_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfInvestmentsTable_lbl" xml:lang="en-US">Schedule of Investments [Table]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NSCAguaMember" xlink:label="cwco_NSCAguaMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_NSCAguaMember" xlink:to="cwco_NSCAguaMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_NSCAguaMember_lbl" xml:lang="en-US">NSC Agua [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_TypeOfPhasesAxis" xlink:label="cwco_TypeOfPhasesAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_TypeOfPhasesAxis" xlink:to="cwco_TypeOfPhasesAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_TypeOfPhasesAxis_lbl" xml:lang="en-US">Type Of Phases [Axis]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_TypeOfPhasesDomain" xlink:label="cwco_TypeOfPhasesDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_TypeOfPhasesDomain" xlink:to="cwco_TypeOfPhasesDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_TypeOfPhasesDomain_lbl" xml:lang="en-US">Type Of Phases [Domain]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_FirstPhaseMember" xlink:label="cwco_FirstPhaseMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_FirstPhaseMember" xlink:to="cwco_FirstPhaseMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_FirstPhaseMember_lbl" xml:lang="en-US">First Phase [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SecondPhaseMember" xlink:label="cwco_SecondPhaseMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_SecondPhaseMember" xlink:to="cwco_SecondPhaseMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_SecondPhaseMember_lbl" xml:lang="en-US">Second Phase [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_lbl" xml:lang="en-US">Investment, Name [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="srt_EquityMethodInvesteeNameDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_EquityMethodInvesteeNameDomain_lbl" xml:lang="en-US">Investment, Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AguasDeRosaritoSapiDeCvMember" xlink:label="cwco_AguasDeRosaritoSapiDeCvMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_AguasDeRosaritoSapiDeCvMember" xlink:to="cwco_AguasDeRosaritoSapiDeCvMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_AguasDeRosaritoSapiDeCvMember_lbl" xml:lang="en-US">Aguas de Rosarito S.A.P.I. de C.V [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfInvestmentsLineItems" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="us-gaap_ScheduleOfInvestmentsLineItems_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfInvestmentsLineItems_lbl" xml:lang="en-US">Schedule of Investments [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_lbl" xml:lang="en-US">Noncontrolling Interest, Ownership Percentage by Noncontrolling Owners</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity" xlink:label="cwco_SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity" xlink:to="cwco_SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity_lbl" xml:lang="en-US">The processing capacity per day seawater reverse osmosis desalination plant.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity_lbl" xml:lang="en-US">Seawater Reverse Osmosis Desalination Plant Per Day Processing Capacity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AreaOfLand" xlink:label="us-gaap_AreaOfLand" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AreaOfLand" xlink:to="us-gaap_AreaOfLand_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AreaOfLand_lbl" xml:lang="en-US">Area of Land</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl" xml:lang="en-US">Equity Method Investment, Ownership Percentage</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PeriodInWhichConstructionMustBeCompleted" xlink:label="cwco_PeriodInWhichConstructionMustBeCompleted" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_PeriodInWhichConstructionMustBeCompleted" xlink:to="cwco_PeriodInWhichConstructionMustBeCompleted_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_PeriodInWhichConstructionMustBeCompleted_lbl" xml:lang="en-US">The period in which construction must be completed.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_PeriodInWhichConstructionMustBeCompleted_lbl" xml:lang="en-US">Period In Which Construction Must Be Completed</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_PeriodInWhichConstructionMustBeCompleted_lbl" xml:lang="en-US">Period in which construction must be completed</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PeriodRequiredToOperateAndMaintainPlantAndAqueduct" xlink:label="cwco_PeriodRequiredToOperateAndMaintainPlantAndAqueduct" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_PeriodRequiredToOperateAndMaintainPlantAndAqueduct" xlink:to="cwco_PeriodRequiredToOperateAndMaintainPlantAndAqueduct_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_PeriodRequiredToOperateAndMaintainPlantAndAqueduct_lbl" xml:lang="en-US">The period required to operate and maintain the plant and aqueduct.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_PeriodRequiredToOperateAndMaintainPlantAndAqueduct_lbl" xml:lang="en-US">Period Required To Operate And Maintain Plant And Aqueduct</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PaymentForLandAndRightOfWayHeldForDevelopment" xlink:label="cwco_PaymentForLandAndRightOfWayHeldForDevelopment" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_PaymentForLandAndRightOfWayHeldForDevelopment" xlink:to="cwco_PaymentForLandAndRightOfWayHeldForDevelopment_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_PaymentForLandAndRightOfWayHeldForDevelopment_lbl" xml:lang="en-US">The cash outflow from the acquisition of real estate intended to generate income for the owner; excludes land acquired for use by the owner.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_PaymentForLandAndRightOfWayHeldForDevelopment_lbl" xml:lang="en-US">Payment For Land And Right Of Way Held For development</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_PaymentForLandAndRightOfWayHeldForDevelopment_lbl" xml:lang="en-US">Payments for land and rights of way held for development</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NumberOfDaysToSubmitListOfNonRecoverableExpenses" xlink:label="cwco_NumberOfDaysToSubmitListOfNonRecoverableExpenses" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_NumberOfDaysToSubmitListOfNonRecoverableExpenses" xlink:to="cwco_NumberOfDaysToSubmitListOfNonRecoverableExpenses_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_NumberOfDaysToSubmitListOfNonRecoverableExpenses_lbl" xml:lang="en-US">Number of days to submit list of non-recoverable expenses made.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_NumberOfDaysToSubmitListOfNonRecoverableExpenses_lbl" xml:lang="en-US">Number of Days to Submit List of Non-Recoverable Expenses</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_NumberOfDaysToSubmitListOfNonRecoverableExpenses_lbl" xml:lang="en-US">Number of days to submit list of non-recoverable expenses made</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DiscontinuedOperationsNonRecoverableExpenses" xlink:label="cwco_DiscontinuedOperationsNonRecoverableExpenses" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_DiscontinuedOperationsNonRecoverableExpenses" xlink:to="cwco_DiscontinuedOperationsNonRecoverableExpenses_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_DiscontinuedOperationsNonRecoverableExpenses_lbl" xml:lang="en-US">Refers to non-recoverable expense in discontinued operations.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_DiscontinuedOperationsNonRecoverableExpenses_lbl" xml:lang="en-US">Discontinued Operations, Non-Recoverable Expenses</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_DiscontinuedOperationsNonRecoverableExpenses_lbl" xml:lang="en-US">Amount of non-recoverable expenses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyDamagesSoughtValue" xlink:label="us-gaap_LossContingencyDamagesSoughtValue" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyDamagesSoughtValue" xlink:to="us-gaap_LossContingencyDamagesSoughtValue_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingencyDamagesSoughtValue_lbl" xml:lang="en-US">Loss Contingency, Damages Sought, Value</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LitigationSettlementExpense" xlink:label="us-gaap_LitigationSettlementExpense" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LitigationSettlementExpense" xlink:to="us-gaap_LitigationSettlementExpense_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LitigationSettlementExpense_lbl" xml:lang="en-US">Litigation Settlement, Expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" xlink:to="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_lbl" xml:lang="en-US">Disposal Groups, Including Discontinued Operations [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="us-gaap_DisposalGroupClassificationAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisposalGroupClassificationAxis" xlink:to="us-gaap_DisposalGroupClassificationAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisposalGroupClassificationAxis_lbl" xml:lang="en-US">Disposal Group Classification [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="us-gaap_DisposalGroupClassificationDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisposalGroupClassificationDomain" xlink:to="us-gaap_DisposalGroupClassificationDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisposalGroupClassificationDomain_lbl" xml:lang="en-US">Disposal Group Classification [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDiscontinuedOperationsMember" xlink:label="us-gaap_SegmentDiscontinuedOperationsMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentDiscontinuedOperationsMember" xlink:to="us-gaap_SegmentDiscontinuedOperationsMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentDiscontinuedOperationsMember_lbl" xml:lang="en-US">Discontinued Operations.</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:to="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_lbl" xml:lang="en-US">Disposal Group Name [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:to="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_lbl" xml:lang="en-US">Disposal Group Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_MexicoProjectDevelopmentMember" xlink:label="cwco_MexicoProjectDevelopmentMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_MexicoProjectDevelopmentMember" xlink:to="cwco_MexicoProjectDevelopmentMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_MexicoProjectDevelopmentMember_lbl" xml:lang="en-US">Represent the information pertaining to Mexico Project Development.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_MexicoProjectDevelopmentMember_lbl" xml:lang="en-US">Mexico Project Development</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:to="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_lbl" xml:lang="en-US">Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_lbl" xml:lang="en-US">Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents_lbl" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Cash and Cash Equivalents</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents_lbl" xml:lang="en-US">Cash</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent_lbl" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Prepaid and Other Assets, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent_lbl" xml:lang="en-US">Prepaid expenses and other current assets</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable" xlink:to="cwco_DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable_lbl" xml:lang="en-US">Amount of disposal group, including discontinued operation, value added taxes receivable.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable_lbl" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Value Added Taxes Receivable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable_lbl" xml:lang="en-US">Value added taxes receivable (net of allowance of $1,657,871 and $1,279,757, respectively)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent_lbl" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Property, Plant and Equipment, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent_lbl" xml:lang="en-US">Property, plant and equipment, net</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay" xlink:to="cwco_DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay_lbl" xml:lang="en-US">Amount classified as land and rights of way, attributable to disposal group held for sale or disposed of, expected to be disposed of within one year or the normal operating cycle, if longer.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay_lbl" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Land And Rights Of Way</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay_lbl" xml:lang="en-US">Land</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets_lbl" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Other Assets, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets_lbl" xml:lang="en-US">Other assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:label="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:to="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_lbl" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_lbl" xml:lang="en-US">Assets of discontinued operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_lbl" xml:lang="en-US">Total assets of discontinued operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation" xlink:to="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation_lbl" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation_lbl" xml:lang="en-US">Total liabilities of discontinued operations</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ValueAddedTaxReceivableAllowance" xlink:label="cwco_ValueAddedTaxReceivableAllowance" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ValueAddedTaxReceivableAllowance" xlink:to="cwco_ValueAddedTaxReceivableAllowance_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_ValueAddedTaxReceivableAllowance_lbl" xml:lang="en-US">Amount of allowance for credit loss on value added taxes receivable.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ValueAddedTaxReceivableAllowance_lbl" xml:lang="en-US">Value Added Tax Receivable Allowance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_ValueAddedTaxReceivableAllowance_lbl" xml:lang="en-US">Value added tax, net of allowance</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ProvisionForUncollectedValueAddedTaxes" xlink:label="cwco_ProvisionForUncollectedValueAddedTaxes" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ProvisionForUncollectedValueAddedTaxes" xlink:to="cwco_ProvisionForUncollectedValueAddedTaxes_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_ProvisionForUncollectedValueAddedTaxes_lbl" xml:lang="en-US">It pertains to provision for uncollected value added taxes.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ProvisionForUncollectedValueAddedTaxes_lbl" xml:lang="en-US">Provision For Uncollected Value Added Taxes</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_ProvisionForUncollectedValueAddedTaxes_lbl" xml:lang="en-US">Provision for uncollected value added taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" xlink:to="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_lbl" xml:lang="en-US">Discontinued Operation, Income (Loss) from Discontinued Operation, before Income Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_lbl" xml:lang="en-US">Loss from operations</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_IncomeLossFromDiscontinuedOperations" xlink:label="cwco_IncomeLossFromDiscontinuedOperations" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_IncomeLossFromDiscontinuedOperations" xlink:to="cwco_IncomeLossFromDiscontinuedOperations_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_IncomeLossFromDiscontinuedOperations_lbl" xml:lang="en-US">Amount of income (loss) from a discontinued operation.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_IncomeLossFromDiscontinuedOperations_lbl" xml:lang="en-US">Income Loss from Discontinued Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:label="cwco_IncomeLossFromDiscontinuedOperations_lbl" xml:lang="en-US">Loss from discontinued operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="cwco_IncomeLossFromDiscontinuedOperations_lbl" xml:lang="en-US">Less discontinued operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization_lbl" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Depreciation and Amortization</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization_lbl" xml:lang="en-US">Depreciation expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable_lbl" xml:lang="en-US">Schedule of Indefinite-Lived Intangible Assets [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncompeteAgreementsMember" xlink:to="us-gaap_NoncompeteAgreementsMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncompeteAgreementsMember_lbl" xml:lang="en-US">Non-compete agreements</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NoncompeteAgreementsMember_lbl" xml:lang="en-US">Non-compete agreement</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_TradeNameMember" xlink:label="cwco_TradeNameMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_TradeNameMember" xlink:to="cwco_TradeNameMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_TradeNameMember_lbl" xml:lang="en-US">Trade names</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ManagementContractsMember" xlink:label="cwco_ManagementContractsMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ManagementContractsMember" xlink:to="cwco_ManagementContractsMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_ManagementContractsMember_lbl" xml:lang="en-US">Represents information pertaining to management contracts.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ManagementContractsMember_lbl" xml:lang="en-US">Facility management contracts</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassLineItems" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassLineItems" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassLineItems" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassLineItems_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassLineItems_lbl" xml:lang="en-US">Indefinite-lived Intangible Assets [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_lbl" xml:lang="en-US">Intangible Assets, Net (Excluding Goodwill) [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_lbl" xml:lang="en-US">Cost</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Gross</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentForAmortizationAbstract" xlink:label="us-gaap_AdjustmentForAmortizationAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentForAmortizationAbstract" xlink:to="us-gaap_AdjustmentForAmortizationAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentForAmortizationAbstract_lbl" xml:lang="en-US">Amortization [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentForAmortizationAbstract_lbl" xml:lang="en-US">Accumulated amortization</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US">2023</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Two</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US">2024</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Three</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US">2025</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Four</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US">2026</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xml:lang="en-US">2027</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, after Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl" xml:lang="en-US">Thereafter</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US">Finite Lived Intangible Assets Net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xml:lang="en-US">Indefinite-lived Intangible Assets [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xml:lang="en-US">Indefinite-lived Intangible Assets, Major Class Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeNamesMember" xlink:to="us-gaap_TradeNamesMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TradeNamesMember_lbl" xml:lang="en-US">Trade name</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerRelationshipsMember" xlink:to="us-gaap_CustomerRelationshipsMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xml:lang="en-US">Customer relationships</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US">Amortization of Intangible Assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_lbl" xml:lang="en-US">Acquired Finite-lived Intangible Assets, Weighted Average Useful Life</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BalanceSheetLocationAxis_lbl" xml:lang="en-US">Balance Sheet Location [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_BalanceSheetLocationDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BalanceSheetLocationDomain_lbl" xml:lang="en-US">Balance Sheet Location [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:to="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_lbl" xml:lang="en-US">Prepaid Expenses and Other Current Assets [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OperatingLeaseAssetsCurrent" xlink:label="cwco_OperatingLeaseAssetsCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_OperatingLeaseAssetsCurrent" xlink:to="cwco_OperatingLeaseAssetsCurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_OperatingLeaseAssetsCurrent_lbl" xml:lang="en-US">Amount of Operating Lease Assets Current.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_OperatingLeaseAssetsCurrent_lbl" xml:lang="en-US">Operating Lease Assets Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="cwco_OperatingLeaseAssetsCurrent_lbl" xml:lang="en-US">Operating lease assets, current</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrent" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrent" xlink:to="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrent_lbl" xml:lang="en-US">Amount classified as leases attributable to disposal group held for sale or disposed of, expected to be disposed of within one year or the normal operating cycle, if longer.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrent_lbl" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Lease, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrent_lbl" xml:lang="en-US">Current assets of discontinued operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsNoncurrentAbstract" xlink:label="us-gaap_AssetsNoncurrentAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsNoncurrentAbstract" xlink:to="us-gaap_AssetsNoncurrentAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsNoncurrentAbstract_lbl" xml:lang="en-US">Assets, Noncurrent [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AssetsNoncurrentAbstract_lbl" xml:lang="en-US">Noncurrent</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DisposalGroupIncludingDiscontinuedOperationLeaseNoncurrent" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseNoncurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseNoncurrent" xlink:to="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseNoncurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseNoncurrent_lbl" xml:lang="en-US">Amount classified as leases attributable to disposal group held for sale or disposed of, expected to be disposed of after one year or the normal operating cycle, if longer.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseNoncurrent_lbl" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Lease, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseNoncurrent_lbl" xml:lang="en-US">Long-term assets of discontinued operations</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OperatingLeaseRightOfUseAssetNet" xlink:label="cwco_OperatingLeaseRightOfUseAssetNet" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_OperatingLeaseRightOfUseAssetNet" xlink:to="cwco_OperatingLeaseRightOfUseAssetNet_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_OperatingLeaseRightOfUseAssetNet_lbl" xml:lang="en-US">Amount of lessee's right to use underlying asset net under operating lease.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_OperatingLeaseRightOfUseAssetNet_lbl" xml:lang="en-US">Operating Lease Right of Use Asset Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="cwco_OperatingLeaseRightOfUseAssetNet_lbl" xml:lang="en-US">Total lease right-of-use assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAbstract" xlink:label="us-gaap_LiabilitiesAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAbstract" xlink:to="us-gaap_LiabilitiesAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAbstract_lbl" xml:lang="en-US">Liabilities [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LiabilitiesAbstract_lbl" xml:lang="en-US">LIABILITIES</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities" xlink:to="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities_lbl" xml:lang="en-US">Amount classified as leases attributable to disposal group held for sale or disposed of, expected to be disposed of within one year or the normal operating cycle, if longer.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities_lbl" xml:lang="en-US">Disposal Group Including Discontinued Operation Lease Current Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities_lbl" xml:lang="en-US">Current liabilities of discontinued operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesNoncurrentAbstract" xlink:label="us-gaap_LiabilitiesNoncurrentAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesNoncurrentAbstract" xlink:to="us-gaap_LiabilitiesNoncurrentAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesNoncurrentAbstract_lbl" xml:lang="en-US">Liabilities, Noncurrent [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LiabilitiesNoncurrentAbstract_lbl" xml:lang="en-US">Noncurrent</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OperatingLeaseLiabilityIncludingDiscontinuedOperations" xlink:label="cwco_OperatingLeaseLiabilityIncludingDiscontinuedOperations" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_OperatingLeaseLiabilityIncludingDiscontinuedOperations" xlink:to="cwco_OperatingLeaseLiabilityIncludingDiscontinuedOperations_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_OperatingLeaseLiabilityIncludingDiscontinuedOperations_lbl" xml:lang="en-US">Present value of lessee's discounted obligation for lease payments from operating lease, including discontinued operations.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_OperatingLeaseLiabilityIncludingDiscontinuedOperations_lbl" xml:lang="en-US">Operating Lease, Liability, Including Discontinued Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="cwco_OperatingLeaseLiabilityIncludingDiscontinuedOperations_lbl" xml:lang="en-US">Total lease liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US">Operating leases, weighted average remaining lease term</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US">Operating Lease, Weighted Average Discount Rate, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US">Operating leases, weighted average discount rate</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseCost" xlink:to="us-gaap_OperatingLeaseCost_lbl" />
    <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, Cost</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseCost_lbl" xml:lang="en-US">Operating lease costs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermLeaseCost" xlink:to="us-gaap_ShortTermLeaseCost_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermLeaseCost_lbl" xml:lang="en-US">Short-term Lease, Cost</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShortTermLeaseCost_lbl" xml:lang="en-US">Short-term lease costs</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OperatingLeaseCostsDiscontinuedOperations" xlink:label="cwco_OperatingLeaseCostsDiscontinuedOperations" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_OperatingLeaseCostsDiscontinuedOperations" xlink:to="cwco_OperatingLeaseCostsDiscontinuedOperations_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_OperatingLeaseCostsDiscontinuedOperations_lbl" xml:lang="en-US">Amount of operating lease cost related to discontinued operations, excluding expense for lease with term of one month or less.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_OperatingLeaseCostsDiscontinuedOperations_lbl" xml:lang="en-US">Operating Lease Costs Discontinued Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_OperatingLeaseCostsDiscontinuedOperations_lbl" xml:lang="en-US">Lease costs - discontinued operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_LeaseCost_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseCost_lbl" xml:lang="en-US">Lease, Cost</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LeaseCost_lbl" xml:lang="en-US">Total lease costs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US">Operating Lease, Payments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US">Operating cash outflows for operating leases</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OperatingLeaseDiscontinuedOperationsPayments" xlink:label="cwco_OperatingLeaseDiscontinuedOperationsPayments" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_OperatingLeaseDiscontinuedOperationsPayments" xlink:to="cwco_OperatingLeaseDiscontinuedOperationsPayments_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_OperatingLeaseDiscontinuedOperationsPayments_lbl" xml:lang="en-US">Amount of cash outflow from operating lease discontinued operations, excluding payments to bring another asset to condition and location necessary for its intended use.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_OperatingLeaseDiscontinuedOperationsPayments_lbl" xml:lang="en-US">Operating Lease, Discontinued Operations, Payments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_OperatingLeaseDiscontinuedOperationsPayments_lbl" xml:lang="en-US">Operating cash flows from operating leases - discontinued operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US">2023</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Two</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US">2024</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Three</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US">2025</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Four</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US">2026</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US">2027</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due after Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xml:lang="en-US">Thereafter</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US">Total future lease payments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</label>
    <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</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OperatingLeaseLiabilitiesContinuingOperations" xlink:label="cwco_OperatingLeaseLiabilitiesContinuingOperations" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_OperatingLeaseLiabilitiesContinuingOperations" xlink:to="cwco_OperatingLeaseLiabilitiesContinuingOperations_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_OperatingLeaseLiabilitiesContinuingOperations_lbl" xml:lang="en-US">Present value of lessee's discounted obligation for lease payments from operating lease, continuing operations.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_OperatingLeaseLiabilitiesContinuingOperations_lbl" xml:lang="en-US">Operating Lease Liabilities, Continuing Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_OperatingLeaseLiabilitiesContinuingOperations_lbl" xml:lang="en-US">Total lease obligations</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes" xlink:label="cwco_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes" xlink:to="cwco_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes_lbl" xml:lang="en-US">The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations that are not subject to income tax, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes_lbl" xml:lang="en-US">Income Loss from Continuing Operations before Income Taxes, Foreign Not Subject To Income Taxes</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="cwco_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes_lbl" xml:lang="en-US">Foreign (not subject to income taxes)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Foreign</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl" xml:lang="en-US">Mexico</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_lbl" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Domestic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_lbl" xml:lang="en-US">United States</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US">Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US">Income before income taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_lbl" xml:lang="en-US">Current Federal, State and Local, Tax Expense (Benefit) [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_lbl" xml:lang="en-US">Current:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" xml:lang="en-US">Current Federal Tax Expense (Benefit)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" xml:lang="en-US">Federal</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xml:lang="en-US">Current State and Local Tax Expense (Benefit)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xml:lang="en-US">State</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Current Income Tax Expense (Benefit)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Total</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_lbl" xml:lang="en-US">Deferred Federal, State and Local, Tax Expense (Benefit) [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_lbl" xml:lang="en-US">Deferred:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred Federal Income Tax Expense (Benefit)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Federal</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred State and Local Income Tax Expense (Benefit)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">State</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl" xml:lang="en-US">Deferred Income Taxes and Tax Credits</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl" xml:lang="en-US">Total</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xml:lang="en-US">U.S. statutory federal rate</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xml:lang="en-US">State taxes, net of federal effect</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" xml:lang="en-US">Nontaxable foreign income</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl" xml:lang="en-US">Research &amp; Development Tax Credit</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EffectiveIncomeTaxRateReconciliationPermanentItems" xlink:label="cwco_EffectiveIncomeTaxRateReconciliationPermanentItems" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_EffectiveIncomeTaxRateReconciliationPermanentItems" xlink:to="cwco_EffectiveIncomeTaxRateReconciliationPermanentItems_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_EffectiveIncomeTaxRateReconciliationPermanentItems_lbl" xml:lang="en-US">Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to Permanent items.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_EffectiveIncomeTaxRateReconciliationPermanentItems_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation Permanent Items</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="cwco_EffectiveIncomeTaxRateReconciliationPermanentItems_lbl" xml:lang="en-US">Permanent items</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EffectiveIncomeTaxRateReconciliationGoodwillImpairmentPercent" xlink:label="cwco_EffectiveIncomeTaxRateReconciliationGoodwillImpairmentPercent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_EffectiveIncomeTaxRateReconciliationGoodwillImpairmentPercent" xlink:to="cwco_EffectiveIncomeTaxRateReconciliationGoodwillImpairmentPercent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_EffectiveIncomeTaxRateReconciliationGoodwillImpairmentPercent_lbl" xml:lang="en-US">Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to goodwill impairment.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_EffectiveIncomeTaxRateReconciliationGoodwillImpairmentPercent_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Goodwill Impairment, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_EffectiveIncomeTaxRateReconciliationGoodwillImpairmentPercent_lbl" xml:lang="en-US">Goodwill impairment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Valuation allowance for deferred tax assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" />
    <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 Reconciliation, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US">Total U.S. statutory federal tax rate to the effective rate</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsNetAbstract" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsNetAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract_lbl" xml:lang="en-US">Deferred Tax Assets, Net [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract_lbl" xml:lang="en-US">Deferred tax assets:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign_lbl" xml:lang="en-US">Deferred Tax Assets, Operating Loss Carryforwards, Foreign</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign_lbl" xml:lang="en-US">Operating loss carryforwards - Mexico</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DeferredTaxAssetsLandBasisDifference" xlink:label="cwco_DeferredTaxAssetsLandBasisDifference" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_DeferredTaxAssetsLandBasisDifference" xlink:to="cwco_DeferredTaxAssetsLandBasisDifference_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_DeferredTaxAssetsLandBasisDifference_lbl" xml:lang="en-US">Amount before allocation of valuation allowances of deferred tax asset attributable to land basis differences.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_DeferredTaxAssetsLandBasisDifference_lbl" xml:lang="en-US">Deferred Tax Assets Land Basis Difference</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_DeferredTaxAssetsLandBasisDifference_lbl" xml:lang="en-US">Land basis difference - Mexico</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DeferredTaxAssetsStartupCosts" xlink:label="cwco_DeferredTaxAssetsStartupCosts" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_DeferredTaxAssetsStartupCosts" xlink:to="cwco_DeferredTaxAssetsStartupCosts_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_DeferredTaxAssetsStartupCosts_lbl" xml:lang="en-US">Amount before allocation of valuation allowances of deferred tax asset attributable to start-up costs.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_DeferredTaxAssetsStartupCosts_lbl" xml:lang="en-US">Deferred Tax Assets Start-up Costs</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_DeferredTaxAssetsStartupCosts_lbl" xml:lang="en-US">Start-up costs - Mexico</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_lbl" xml:lang="en-US">Deferred Tax Assets, Tax Credit Carryforwards, Research</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_lbl" xml:lang="en-US">Research &amp; development tax credits</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsCapitalLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsCapitalLossCarryforwards" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsCapitalLossCarryforwards" xlink:to="us-gaap_DeferredTaxAssetsCapitalLossCarryforwards_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsCapitalLossCarryforwards_lbl" xml:lang="en-US">Deferred Tax Assets, Capital Loss Carryforwards</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsCapitalLossCarryforwards_lbl" xml:lang="en-US">Loss carry forward</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_lbl" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_lbl" xml:lang="en-US">Accrued compensation</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities" xlink:label="cwco_DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities" xlink:to="cwco_DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities_lbl" xml:lang="en-US">Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from operating lease liabilities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities_lbl" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Operating Lease Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities_lbl" xml:lang="en-US">Operating lease liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Deferred Tax Assets, Valuation Allowance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Valuation allowances</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US">Deferred Tax Assets, Net of Valuation Allowance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US">Deferred tax assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl" xml:lang="en-US">Deferred Tax Liabilities, Net [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl" xml:lang="en-US">Deferred tax liabilities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xml:lang="en-US">Deferred Tax Liabilities, Property, Plant and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xml:lang="en-US">Property and equipment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_lbl" xml:lang="en-US">Deferred Tax Liabilities, Intangible Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_lbl" xml:lang="en-US">Intangible assets</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" xlink:label="cwco_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" xlink:to="cwco_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets_lbl" xml:lang="en-US">Amount before allocation of valuation allowances of deferred tax liabilities attributable to deductible temporary differences from operating lease right-of-use assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets_lbl" xml:lang="en-US">Deferred Tax Liabilities, Operating Lease Right-Of-Use Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets_lbl" xml:lang="en-US">Operating lease right-of-use assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xml:lang="en-US">Deferred tax liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xml:lang="en-US">Deferred Tax Liabilities, Gross</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxAuthorityAxis_lbl" xml:lang="en-US">Income Tax Authority [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_IncomeTaxAuthorityDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxAuthorityDomain_lbl" xml:lang="en-US">Income Tax Authority [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DomesticCountryMember" xlink:to="us-gaap_DomesticCountryMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DomesticCountryMember_lbl" xml:lang="en-US">Domestic Tax Authority [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="us-gaap_StateAndLocalJurisdictionMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StateAndLocalJurisdictionMember" xlink:to="us-gaap_StateAndLocalJurisdictionMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StateAndLocalJurisdictionMember_lbl" xml:lang="en-US">State and Local Jurisdiction [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwards" xlink:to="us-gaap_OperatingLossCarryforwards_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xml:lang="en-US">Operating Loss Carryforwards</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationTaxCreditsResearch" xlink:label="us-gaap_IncomeTaxReconciliationTaxCreditsResearch" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationTaxCreditsResearch" xlink:to="us-gaap_IncomeTaxReconciliationTaxCreditsResearch_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationTaxCreditsResearch_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxReconciliationTaxCreditsResearch_lbl" xml:lang="en-US">Research and development credit</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsPreferredStock" xlink:label="us-gaap_DividendsPreferredStock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPreferredStock" xlink:to="us-gaap_DividendsPreferredStock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsPreferredStock_lbl" xml:lang="en-US">Dividends, Preferred Stock</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DividendsPreferredStock_lbl" xml:lang="en-US">Less: preferred stock dividends</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic" xlink:label="us-gaap_NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic" xlink:to="us-gaap_NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic_lbl" xml:lang="en-US">Net Income (Loss) from Continuing Operations Available to Common Shareholders, Basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic_lbl" xml:lang="en-US">Net income from continuing operations available to common shares in the determination of basic earnings per common share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_lbl" xml:lang="en-US">Net Income (Loss) Available to Common Stockholders, Basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_lbl" xml:lang="en-US">Net income available to common shares in the determination of basic earnings per common share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToConversionOfPreferredStock" xlink:label="us-gaap_IncrementalCommonSharesAttributableToConversionOfPreferredStock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToConversionOfPreferredStock" xlink:to="us-gaap_IncrementalCommonSharesAttributableToConversionOfPreferredStock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncrementalCommonSharesAttributableToConversionOfPreferredStock_lbl" xml:lang="en-US">Incremental Common Shares Attributable to Dilutive Effect of Conversion of Preferred Stock</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncrementalCommonSharesAttributableToConversionOfPreferredStock_lbl" xml:lang="en-US">Weighted average number of preferred shares outstanding during the period (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants" xlink:label="us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants" xlink:to="us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants_lbl" xml:lang="en-US">Incremental Common Shares Attributable to Dilutive Effect of Call Options and Warrants</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants_lbl" xml:lang="en-US">Potential dilutive effect of unexercised options and unvested stock grants</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DividendsPerShareDeclared" xlink:label="cwco_DividendsPerShareDeclared" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_DividendsPerShareDeclared" xlink:to="cwco_DividendsPerShareDeclared_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_DividendsPerShareDeclared_lbl" xml:lang="en-US">Aggregate dividends declared during the period for each share of common stock and redeemable preferred stock outstanding.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_DividendsPerShareDeclared_lbl" xml:lang="en-US">Dividends Per Share Declared</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_SegmentReportingInformationLineItems_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xml:lang="en-US">Segment Reporting Information [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfReportableSegments" xlink:to="us-gaap_NumberOfReportableSegments_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NumberOfReportableSegments_lbl" xml:lang="en-US">Number of Reportable Segments</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_InventoryCurrentAndNoncurrent" xlink:label="cwco_InventoryCurrentAndNoncurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_InventoryCurrentAndNoncurrent" xlink:to="cwco_InventoryCurrentAndNoncurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_InventoryCurrentAndNoncurrent_lbl" xml:lang="en-US">Amount of inventory current and non current.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_InventoryCurrentAndNoncurrent_lbl" xml:lang="en-US">Inventory Current And Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_InventoryCurrentAndNoncurrent_lbl" xml:lang="en-US">Inventory, current and non-current</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AssetsContinuedOperation" xlink:label="cwco_AssetsContinuedOperation" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_AssetsContinuedOperation" xlink:to="cwco_AssetsContinuedOperation_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_AssetsContinuedOperation_lbl" xml:lang="en-US">Amount classified as assets attributable to continued operation.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_AssetsContinuedOperation_lbl" xml:lang="en-US">Assets Continued Operation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_AssetsContinuedOperation_lbl" xml:lang="en-US">Total segment assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_KY" xlink:label="country_KY" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_KY" xlink:to="country_KY_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_KY_lbl" xml:lang="en-US">Cayman Islands [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_US_lbl" xml:lang="en-US">United States [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_VG" xlink:label="country_VG" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_VG" xlink:to="country_VG_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_VG_lbl" xml:lang="en-US">Management Services Agreement With OC-BVI [Membre]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_WaterAndSewerageCorporationMember" xlink:label="cwco_WaterAndSewerageCorporationMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_WaterAndSewerageCorporationMember" xlink:to="cwco_WaterAndSewerageCorporationMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_WaterAndSewerageCorporationMember_lbl" xml:lang="en-US">Water and Sewerage Corporation [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OneCustomerMember" xlink:label="cwco_OneCustomerMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_OneCustomerMember" xlink:to="cwco_OneCustomerMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_OneCustomerMember_lbl" xml:lang="en-US">Represents information pertaining to customer.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_OneCustomerMember_lbl" xml:lang="en-US">One Customer [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EntityWideRevenuesMajorCustomerPercentage" xlink:label="cwco_EntityWideRevenuesMajorCustomerPercentage" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_EntityWideRevenuesMajorCustomerPercentage" xlink:to="cwco_EntityWideRevenuesMajorCustomerPercentage_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_EntityWideRevenuesMajorCustomerPercentage_lbl" xml:lang="en-US">Percentage of revenue generated from a single external customer that accounts for 10 percent or more of an entity's revenues.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_EntityWideRevenuesMajorCustomerPercentage_lbl" xml:lang="en-US">Entity Wide Revenues Major Customer Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_EntityWideRevenuesMajorCustomerPercentage_lbl" xml:lang="en-US">Percentage of consolidated revenues</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US">Depreciation, Depletion and Amortization</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable" xlink:to="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable_lbl" xml:lang="en-US">Cost Of Revenues And General And Administrative Expenses [Table]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SubcontractorAndOtherProjectCostsMember" xlink:label="cwco_SubcontractorAndOtherProjectCostsMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_SubcontractorAndOtherProjectCostsMember" xlink:to="cwco_SubcontractorAndOtherProjectCostsMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_SubcontractorAndOtherProjectCostsMember_lbl" xml:lang="en-US">NA</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_SubcontractorAndOtherProjectCostsMember_lbl" xml:lang="en-US">Subcontractor and other project costs</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EmployeeCostsMember" xlink:label="cwco_EmployeeCostsMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_EmployeeCostsMember" xlink:to="cwco_EmployeeCostsMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_EmployeeCostsMember_lbl" xml:lang="en-US">Employee costs [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_FuelOilMember" xlink:label="cwco_FuelOilMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_FuelOilMember" xlink:to="cwco_FuelOilMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_FuelOilMember_lbl" xml:lang="en-US">Fuel oil [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricityMember" xlink:label="us-gaap_ElectricityMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ElectricityMember" xlink:to="us-gaap_ElectricityMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ElectricityMember_lbl" xml:lang="en-US">Electricity [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DepreciationMember" xlink:label="cwco_DepreciationMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_DepreciationMember" xlink:to="cwco_DepreciationMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_DepreciationMember_lbl" xml:lang="en-US">Depreciation [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MaintenanceMember" xlink:label="us-gaap_MaintenanceMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MaintenanceMember" xlink:to="us-gaap_MaintenanceMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MaintenanceMember_lbl" xml:lang="en-US">Maintenance [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_InsuranceMember" xlink:label="cwco_InsuranceMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_InsuranceMember" xlink:to="cwco_InsuranceMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_InsuranceMember_lbl" xml:lang="en-US">Insurance [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_RoyaltiesMember" xlink:label="cwco_RoyaltiesMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_RoyaltiesMember" xlink:to="cwco_RoyaltiesMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_RoyaltiesMember_lbl" xml:lang="en-US">Retail license royalties [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CostOfPlantSalesMember" xlink:label="cwco_CostOfPlantSalesMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_CostOfPlantSalesMember" xlink:to="cwco_CostOfPlantSalesMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_CostOfPlantSalesMember_lbl" xml:lang="en-US">Cost of plant sales [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherExpenseMember" xlink:label="us-gaap_OtherExpenseMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherExpenseMember" xlink:to="us-gaap_OtherExpenseMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherExpenseMember_lbl" xml:lang="en-US">Other [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems" xlink:to="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems_lbl" xml:lang="en-US">Cost of revenues and general and administrative expenses [Line Items]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ProfessionalsFeeMember" xlink:label="cwco_ProfessionalsFeeMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ProfessionalsFeeMember" xlink:to="cwco_ProfessionalsFeeMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ProfessionalsFeeMember_lbl" xml:lang="en-US">Professional fees [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DirectorsFeesAndExpensesMember" xlink:label="cwco_DirectorsFeesAndExpensesMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_DirectorsFeesAndExpensesMember" xlink:to="cwco_DirectorsFeesAndExpensesMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_DirectorsFeesAndExpensesMember_lbl" xml:lang="en-US">Directors' fees and expenses [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OfficeRentMember" xlink:label="cwco_OfficeRentMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_OfficeRentMember" xlink:to="cwco_OfficeRentMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_OfficeRentMember_lbl" xml:lang="en-US">office rent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_OfficeRentMember_lbl" xml:lang="en-US">Office Rent [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AmortizationOfIntangiblesMember" xlink:label="cwco_AmortizationOfIntangiblesMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_AmortizationOfIntangiblesMember" xlink:to="cwco_AmortizationOfIntangiblesMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_AmortizationOfIntangiblesMember_lbl" xml:lang="en-US">Amortization of intangibles [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OtherCreditDeviceMember" xlink:label="cwco_OtherCreditDeviceMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_OtherCreditDeviceMember" xlink:to="cwco_OtherCreditDeviceMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_OtherCreditDeviceMember_lbl" xml:lang="en-US">Other Credit Device [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="cwco_OtherCreditDeviceMember_lbl" xml:lang="en-US">Other [Member].</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xml:lang="en-US">Risk free interest rate</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xml:lang="en-US">Expected option life (years)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" xml:lang="en-US">Expected volatility</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" xml:lang="en-US">Expected dividend yield</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" />
    <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]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OptionIndexedToIssuersEquityTypeAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeAxis" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeAxis_lbl" xml:lang="en-US">Option Indexed to Issuer's Equity, Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_lbl" xml:lang="en-US">Option Indexed to Issuer's Equity, Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOptionMember" xlink:to="us-gaap_EmployeeStockOptionMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeStockOptionMember_lbl" xml:lang="en-US">Employee Stock Option [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" />
    <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]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US">Outstanding at the ending of period -Options</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US">Outstanding at the beginning of period -Options</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xml:lang="en-US">Number of stock grant rights issued</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xml:lang="en-US">Granted - Options</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xml:lang="en-US">Forfeited/expired - Options</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Outstanding-Weighted Average Exercise Price at the ending of period - Options</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Outstanding-Weighted Average Exercise Price at the beginning of period - Options</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Granted-Weighted Average Exercise Price</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Exercised-Weighted Average Exercise Price</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Forfeited/expired-Weighted Average Exercise Price</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Outstanding-Weighted Average Remaining Contractual Life (Years)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US">Outstanding-Aggregate Intrinsic Value</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_lbl" xml:lang="en-US">Exercise Price Range [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_lbl" xml:lang="en-US">Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Domain]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_BelowMarketPriceMember" xlink:label="cwco_BelowMarketPriceMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_BelowMarketPriceMember" xlink:to="cwco_BelowMarketPriceMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_BelowMarketPriceMember_lbl" xml:lang="en-US">Below Market Price [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AtMarketPriceMember" xlink:label="cwco_AtMarketPriceMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_AtMarketPriceMember" xlink:to="cwco_AtMarketPriceMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_AtMarketPriceMember_lbl" xml:lang="en-US">At Market Price [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AboveMarketPriceMember" xlink:label="cwco_AboveMarketPriceMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_AboveMarketPriceMember" xlink:to="cwco_AboveMarketPriceMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_AboveMarketPriceMember_lbl" xml:lang="en-US">Above Market Price [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualAxis_lbl" xml:lang="en-US">Title of Individual [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl" xml:lang="en-US">Relationship to Entity [Domain]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ManagementEmployeesMember" xlink:label="cwco_ManagementEmployeesMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ManagementEmployeesMember" xlink:to="cwco_ManagementEmployeesMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ManagementEmployeesMember_lbl" xml:lang="en-US">Management Employees [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EmployeesMember" xlink:label="cwco_EmployeesMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_EmployeesMember" xlink:to="cwco_EmployeesMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_EmployeesMember_lbl" xml:lang="en-US">Employees [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EquityIncentivePlan2008Member" xlink:label="cwco_EquityIncentivePlan2008Member" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_EquityIncentivePlan2008Member" xlink:to="cwco_EquityIncentivePlan2008Member_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_EquityIncentivePlan2008Member_lbl" xml:lang="en-US">Equity Incentive Plan2008 [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis_lbl" />
    <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]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" xml:lang="en-US">Equity Award [Domain]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CommonStockOptionsMember" xlink:label="cwco_CommonStockOptionsMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_CommonStockOptionsMember" xlink:to="cwco_CommonStockOptionsMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_CommonStockOptionsMember_lbl" xml:lang="en-US">Common Stock Options [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NonExecutiveDirectorsSharePlanMember" xlink:label="cwco_NonExecutiveDirectorsSharePlanMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_NonExecutiveDirectorsSharePlanMember" xlink:to="cwco_NonExecutiveDirectorsSharePlanMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_NonExecutiveDirectorsSharePlanMember_lbl" xml:lang="en-US">Non Executive Directors Share Plan [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NonperformancebasedGrantsMember" xlink:label="cwco_NonperformancebasedGrantsMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_NonperformancebasedGrantsMember" xlink:to="cwco_NonperformancebasedGrantsMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_NonperformancebasedGrantsMember_lbl" xml:lang="en-US">Non-Performance-Based Grants [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PerformancebasedGrantsMember" xlink:label="cwco_PerformancebasedGrantsMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_PerformancebasedGrantsMember" xlink:to="cwco_PerformancebasedGrantsMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_PerformancebasedGrantsMember_lbl" xml:lang="en-US">Performance-Based Grants [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod" xlink:label="cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod" xlink:to="cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod_lbl" xml:lang="en-US">The measurement period for cumulative financial performance targets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod_lbl" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Measurement Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod_lbl" xml:lang="en-US">Cumulative financial performance targets measurement period</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation" xlink:label="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation" xlink:to="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation_lbl" xml:lang="en-US">Shares Granted, Value, Share-based Payment Arrangement, after Forfeiture</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation_lbl" xml:lang="en-US">Number of vested shares issued</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax" xlink:label="us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax" xlink:to="us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax_lbl" xml:lang="en-US">Allocated Share-based Compensation Expense, Net of Tax</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Number of Shares</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Option, Nonvested, Weighted Average Exercise Price</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonVestedOutstandingWeightedAverageRemainingContractualTerm" xlink:label="cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonVestedOutstandingWeightedAverageRemainingContractualTerm" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonVestedOutstandingWeightedAverageRemainingContractualTerm" xlink:to="cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonVestedOutstandingWeightedAverageRemainingContractualTerm_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonVestedOutstandingWeightedAverageRemainingContractualTerm_lbl" xml:lang="en-US">Weighted average remaining contractual term for non vested options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonVestedOutstandingWeightedAverageRemainingContractualTerm_lbl" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Options Non Vested Outstanding Weighted Average Remaining Contractual Term</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US">Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xml:lang="en-US">Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" xml:lang="en-US">Common Stock, Capital Shares Reserved for Future Issuance</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AdditionalConsecutiveIndividualRequisiteServicePeriod" xlink:label="cwco_AdditionalConsecutiveIndividualRequisiteServicePeriod" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_AdditionalConsecutiveIndividualRequisiteServicePeriod" xlink:to="cwco_AdditionalConsecutiveIndividualRequisiteServicePeriod_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_AdditionalConsecutiveIndividualRequisiteServicePeriod_lbl" xml:lang="en-US">The additional consecutive individual requisite service period required for eligibility in the Employee Share Incentive Plan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_AdditionalConsecutiveIndividualRequisiteServicePeriod_lbl" xml:lang="en-US">Additional Consecutive Individual Requisite Service Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_AdditionalConsecutiveIndividualRequisiteServicePeriod_lbl" xml:lang="en-US">Additional consecutive individual requisite service period required for eligibility in Employee Share Incentive Plan</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_StockholdersEquityNoteConversionRatioPreferredShares" xlink:label="cwco_StockholdersEquityNoteConversionRatioPreferredShares" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_StockholdersEquityNoteConversionRatioPreferredShares" xlink:to="cwco_StockholdersEquityNoteConversionRatioPreferredShares_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_StockholdersEquityNoteConversionRatioPreferredShares_lbl" xml:lang="en-US">The number of preferred shares converted to common shares dependent upon specific criteria.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_StockholdersEquityNoteConversionRatioPreferredShares_lbl" xml:lang="en-US">Stockholders Equity Note Conversion Ratio Preferred Shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_StockholdersEquityNoteConversionRatioPreferredShares_lbl" xml:lang="en-US">Number of preferred shares converted to common shares dependent upon specific criteria</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_StockholdersEquityNoteConversionRatioCommonShares" xlink:label="cwco_StockholdersEquityNoteConversionRatioCommonShares" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_StockholdersEquityNoteConversionRatioCommonShares" xlink:to="cwco_StockholdersEquityNoteConversionRatioCommonShares_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_StockholdersEquityNoteConversionRatioCommonShares_lbl" xml:lang="en-US">The number of common shares received upon conversion of preferred shares dependent upon specific criteria.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_StockholdersEquityNoteConversionRatioCommonShares_lbl" xml:lang="en-US">Stockholders Equity Note Conversion Ratio Common Shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_StockholdersEquityNoteConversionRatioCommonShares_lbl" xml:lang="en-US">Number of common shares received upon conversion of preferred shares dependent upon specific criteria</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NumberOfDaysOfAverageTradingPriceOfCommonStock" xlink:label="cwco_NumberOfDaysOfAverageTradingPriceOfCommonStock" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_NumberOfDaysOfAverageTradingPriceOfCommonStock" xlink:to="cwco_NumberOfDaysOfAverageTradingPriceOfCommonStock_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_NumberOfDaysOfAverageTradingPriceOfCommonStock_lbl" xml:lang="en-US">The number of average trading price of the common stock.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_NumberOfDaysOfAverageTradingPriceOfCommonStock_lbl" xml:lang="en-US">Number Of Days Of Average Trading Price Of Common Stock</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_NumberOfDaysOfAverageTradingPriceOfCommonStock_lbl" xml:lang="en-US">Number of average trading price of the common stock</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised" xlink:label="cwco_NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised" xlink:to="cwco_NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised_lbl" xml:lang="en-US">The number of days employee option to purchase preferred stock must be exercised.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised_lbl" xml:lang="en-US">Number Of Days Employee Option To Purchase Preferred Stock Must Be Exercised</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised_lbl" xml:lang="en-US">Number of days employee option to purchase preferred stock must be exercised</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:to="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices_lbl" xml:lang="en-US">Stock Issued During Period, Shares, Issued for Services</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US">Allocated Share-based Compensation Expense</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ClosingPriceOfCommonShares" xlink:label="cwco_ClosingPriceOfCommonShares" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_ClosingPriceOfCommonShares" xlink:to="cwco_ClosingPriceOfCommonShares_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_ClosingPriceOfCommonShares_lbl" xml:lang="en-US">Closing price of the common shares.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_ClosingPriceOfCommonShares_lbl" xml:lang="en-US">Closing Price of Common Shares</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_lbl" xml:lang="en-US">Schedule of Defined Benefit Plans Disclosures [Table]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_RetirementPlanAxis" xlink:label="cwco_RetirementPlanAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_RetirementPlanAxis" xlink:to="cwco_RetirementPlanAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_RetirementPlanAxis_lbl" xml:lang="en-US">Retirement Plan [Axis]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_RetirementPlanDomain" xlink:label="cwco_RetirementPlanDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_RetirementPlanDomain" xlink:to="cwco_RetirementPlanDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_RetirementPlanDomain_lbl" xml:lang="en-US">Retirement Plan [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/stpr/2022/stpr-2022.xsd#stpr_FL" xlink:label="stpr_FL" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="stpr_FL" xlink:to="stpr_FL_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="stpr_FL_lbl" xml:lang="en-US">FLORIDA</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/stpr/2022/stpr-2022.xsd#stpr_CA" xlink:label="stpr_CA" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="stpr_CA" xlink:to="stpr_CA_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="stpr_CA_lbl" xml:lang="en-US">California [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis" xlink:label="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis" xlink:to="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis_lbl" xml:lang="en-US">Information about percentage employer matches of the employee's percentage contribution matched.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis_lbl" xml:lang="en-US">Defined Contribution Plan, Employer Matching Contribution, Percent of Match [Axis]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchDomain" xlink:label="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchDomain" xlink:to="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchDomain_lbl" xml:lang="en-US">Information about percentage employer matches of the employee's percentage contribution matched.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchDomain_lbl" xml:lang="en-US">Defined Contribution Plan, Employer Matching Contribution, Percent of Match [Domain]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember" xlink:label="cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember" xlink:to="cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember_lbl" xml:lang="en-US">This member stands for 25% of matching contribution by employer under the defined contribution plan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember_lbl" xml:lang="en-US">Defined Contribution Plan, Employer Matching Contribution, 25 Percent of Match [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_DefinedBenefitPlanDisclosureLineItems_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems_lbl" xml:lang="en-US">Defined Benefit Plan Disclosure [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionExpense" xlink:label="us-gaap_PensionExpense" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionExpense" xlink:to="us-gaap_PensionExpense_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionExpense_lbl" xml:lang="en-US">Pension Cost (Reversal of Cost)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PensionExpense_lbl" xml:lang="en-US">Pension Expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" xlink:label="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" xlink:to="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent_lbl" xml:lang="en-US">Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount" xlink:label="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount" xlink:to="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount_lbl" xml:lang="en-US">Defined Contribution Plan, Maximum Annual Contributions Per Employee, Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount_lbl" xml:lang="en-US">Maximum annual contribution amount</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_lbl" xml:lang="en-US">Defined Contribution Plan, Employer Matching Contribution, Percent of Match</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_lbl" xml:lang="en-US">Employer Matching Contribution, Percent of Match</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_lbl" xml:lang="en-US">Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_lbl" xml:lang="en-US">Employer Matching Contribution, Percent of Employees' Gross Pay</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_lbl" xml:lang="en-US">Fair Value Measurements, Recurring and Nonrecurring [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="us-gaap_FairValueByAssetClassAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueByAssetClassAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByAssetClassAxis_lbl" xml:lang="en-US">Asset Class [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_lbl" xml:lang="en-US">Asset Class [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_lbl" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel2Member" xlink:to="us-gaap_FairValueInputsLevel2Member_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueInputsLevel2Member_lbl" xml:lang="en-US">Fair Value, Inputs, Level 2 [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel3Member" xlink:to="us-gaap_FairValueInputsLevel3Member_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueInputsLevel3Member_lbl" xml:lang="en-US">Fair Value, Inputs, Level 3 [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xml:lang="en-US">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract" xlink:label="us-gaap_FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract" xlink:to="us-gaap_FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract_lbl" xml:lang="en-US">Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNetAbstract" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNetAbstract" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNetAbstract" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNetAbstract_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNetAbstract_lbl" xml:lang="en-US">Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset, Transfers, Net [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNetAbstract_lbl" xml:lang="en-US">Recurring</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_lbl" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_lbl" xml:lang="en-US">Net (liability)/asset arising from put/call options</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs_lbl" xml:lang="en-US">Fair Value, Net Derivative Asset (Liability) Measured on Recurring Basis with Unobservable Inputs</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs_lbl" xml:lang="en-US">Balance as of December 31, 2022</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs_lbl" xml:lang="en-US">Balance as of December 31, 2021</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales_lbl" xml:lang="en-US">Fair Value, Net Derivative Asset (Liability) Measured on Recurring Basis, Unobservable Inputs Reconciliation, Gain (Loss) Included in Earnings</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales_lbl" xml:lang="en-US">Unrealized gain</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_TermOfForeignExchangeRiskToDollarForCertainCurrencies" xlink:label="cwco_TermOfForeignExchangeRiskToDollarForCertainCurrencies" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_TermOfForeignExchangeRiskToDollarForCertainCurrencies" xlink:to="cwco_TermOfForeignExchangeRiskToDollarForCertainCurrencies_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_TermOfForeignExchangeRiskToDollarForCertainCurrencies_lbl" xml:lang="en-US">The duration certain foreign currencies are fixed to the dollar.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_TermOfForeignExchangeRiskToDollarForCertainCurrencies_lbl" xml:lang="en-US">Term Of Foreign Exchange Risk To Dollar For Certain Currencies</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_TermOfForeignExchangeRiskToDollarForCertainCurrencies_lbl" xml:lang="en-US">Duration certain foreign currencies are fixed to the dollar</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CommitmentsAndContingenciesTable" xlink:label="cwco_CommitmentsAndContingenciesTable" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_CommitmentsAndContingenciesTable" xlink:to="cwco_CommitmentsAndContingenciesTable_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_CommitmentsAndContingenciesTable_lbl" xml:lang="en-US">Commitments And Contingencies [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MajorCustomersAxis_lbl" xml:lang="en-US">Customer [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="srt_NameOfMajorCustomerDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_NameOfMajorCustomerDomain_lbl" xml:lang="en-US">Customer [Domain]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_WSCMember" xlink:label="cwco_WSCMember" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_WSCMember" xlink:to="cwco_WSCMember_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_WSCMember_lbl" xml:lang="en-US">WSC [Member]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CommitmentsAndContingenciesLineItems" xlink:label="cwco_CommitmentsAndContingenciesLineItems" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_CommitmentsAndContingenciesLineItems" xlink:to="cwco_CommitmentsAndContingenciesLineItems_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_CommitmentsAndContingenciesLineItems_lbl" xml:lang="en-US">na</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_CommitmentsAndContingenciesLineItems_lbl" xml:lang="en-US">Commitments And Contingencies [ Line Items ]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cwco_CommitmentsAndContingenciesLineItems_lbl" xml:lang="en-US">Contingencies</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EmploymentAgreementBaseAnnualSalaries" xlink:label="cwco_EmploymentAgreementBaseAnnualSalaries" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_EmploymentAgreementBaseAnnualSalaries" xlink:to="cwco_EmploymentAgreementBaseAnnualSalaries_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_EmploymentAgreementBaseAnnualSalaries_lbl" xml:lang="en-US">Represents the base annual salary amount, under the employment agreement.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_EmploymentAgreementBaseAnnualSalaries_lbl" xml:lang="en-US">Employment Agreement Base Annual Salaries</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CaymanWaterRetailOperationsPercentageOfRevenue" xlink:label="cwco_CaymanWaterRetailOperationsPercentageOfRevenue" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_CaymanWaterRetailOperationsPercentageOfRevenue" xlink:to="cwco_CaymanWaterRetailOperationsPercentageOfRevenue_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_CaymanWaterRetailOperationsPercentageOfRevenue_lbl" xml:lang="en-US">Represents the percentage of consolidated revenue from Cayman Water retail operations.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_CaymanWaterRetailOperationsPercentageOfRevenue_lbl" xml:lang="en-US">Cayman Water Retail Operations, Percentage Of Revenue</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CaymanWaterRetailOperationsPercentageOfGrossProfit" xlink:label="cwco_CaymanWaterRetailOperationsPercentageOfGrossProfit" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_CaymanWaterRetailOperationsPercentageOfGrossProfit" xlink:to="cwco_CaymanWaterRetailOperationsPercentageOfGrossProfit_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_CaymanWaterRetailOperationsPercentageOfGrossProfit_lbl" xml:lang="en-US">Represents the percentage of consolidated gross profit from Cayman Water retail operations.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_CaymanWaterRetailOperationsPercentageOfGrossProfit_lbl" xml:lang="en-US">Cayman Water Retail Operations, Percentage Of Gross Profit</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermPurchaseCommitmentAmount" xlink:label="us-gaap_LongTermPurchaseCommitmentAmount" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermPurchaseCommitmentAmount" xlink:to="us-gaap_LongTermPurchaseCommitmentAmount_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermPurchaseCommitmentAmount_lbl" xml:lang="en-US">Long-term Purchase Commitment, Amount</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNet" xlink:label="us-gaap_AccountsReceivableNet" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNet" xlink:to="us-gaap_AccountsReceivableNet_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNet_lbl" xml:lang="en-US">Accounts Receivable, Net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_lbl" xml:lang="en-US">Schedule of Related Party Transactions, by Related Party [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xml:lang="en-US">Related Party [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="us-gaap_RelatedPartyDomain_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyDomain_lbl" xml:lang="en-US">Related Party [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RelatedPartyTransactionLineItems_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionLineItems_lbl" xml:lang="en-US">Related Party Transaction [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty" xlink:label="us-gaap_RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty" xlink:to="us-gaap_RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty_lbl" xml:lang="en-US">Related Party Transaction, Expenses from Transactions with Related Party</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty_lbl" xml:lang="en-US">Amount of expense related to sublease agreement</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SupplementalDisclosureOfCashFlowInformationTable" xlink:label="cwco_SupplementalDisclosureOfCashFlowInformationTable" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_SupplementalDisclosureOfCashFlowInformationTable" xlink:to="cwco_SupplementalDisclosureOfCashFlowInformationTable_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_SupplementalDisclosureOfCashFlowInformationTable_lbl" xml:lang="en-US">Supplemental Disclosure Of Cash Flow Information [Table]</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SupplementalDisclosureOfCashFlowInformationLineItems" xlink:label="cwco_SupplementalDisclosureOfCashFlowInformationLineItems" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_SupplementalDisclosureOfCashFlowInformationLineItems" xlink:to="cwco_SupplementalDisclosureOfCashFlowInformationLineItems_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_SupplementalDisclosureOfCashFlowInformationLineItems_lbl" xml:lang="en-US">Supplemental Disclosure Of Cash Flow Information [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US">Interest Paid, Excluding Capitalized Interest, Operating Activities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US">Interest paid in cash</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet_lbl" />
    <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 Paid, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xml:lang="en-US">Income taxes paid in cash</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsPayableCurrentAndNoncurrent" xlink:label="us-gaap_DividendsPayableCurrentAndNoncurrent" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableCurrentAndNoncurrent" xlink:to="us-gaap_DividendsPayableCurrentAndNoncurrent_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsPayableCurrentAndNoncurrent_lbl" xml:lang="en-US">Dividends Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DividendsPayableCurrentAndNoncurrent_lbl" xml:lang="en-US">Dividends declared but not paid</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_TransfersBetweenInventoryAndPropertyPlantAndEquipment" xlink:label="cwco_TransfersBetweenInventoryAndPropertyPlantAndEquipment" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_TransfersBetweenInventoryAndPropertyPlantAndEquipment" xlink:to="cwco_TransfersBetweenInventoryAndPropertyPlantAndEquipment_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_TransfersBetweenInventoryAndPropertyPlantAndEquipment_lbl" xml:lang="en-US">Amount of transfers from inventory to property plant and equipment and construction in progress.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_TransfersBetweenInventoryAndPropertyPlantAndEquipment_lbl" xml:lang="en-US">Transfers Between Inventory And Property Plant And Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="cwco_TransfersBetweenInventoryAndPropertyPlantAndEquipment_lbl" xml:lang="en-US">Transfers from inventory to property, plant and equipment and construction in progress</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet" xlink:label="cwco_NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet" xlink:to="cwco_NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Amount of transfers from Construction in Progress to property, plant and equipment, net.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Non cash Transactions, Transfers from Construction in Progress to property, plant and equipment, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="cwco_NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Transfers from construction in progress to property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xml:lang="en-US">Right-of-Use Asset Obtained in Exchange for Operating Lease Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xml:lang="en-US">Right-of-use assets obtained in exchange for new operating lease liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction" xlink:label="us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction" xlink:to="us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction_lbl" xml:lang="en-US">Debt Issuance Costs Incurred During Noncash or Partial Noncash Transaction</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction_lbl" xml:lang="en-US">Purchase of equipment through issuance of long-term debt</label>
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CommonStockIssuedDuringPeriodValueIssuedForServices" xlink:label="cwco_CommonStockIssuedDuringPeriodValueIssuedForServices" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cwco_CommonStockIssuedDuringPeriodValueIssuedForServices" xlink:to="cwco_CommonStockIssuedDuringPeriodValueIssuedForServices_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cwco_CommonStockIssuedDuringPeriodValueIssuedForServices_lbl" xml:lang="en-US">Value of common stock issued in lieu of cash for services contributed to the entity. Value of the stock issued includes, but is not limited to, services contributed by vendors and founders.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cwco_CommonStockIssuedDuringPeriodValueIssuedForServices_lbl" xml:lang="en-US">Common Stock Issued During Period Value Issued For Services</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="cwco_CommonStockIssuedDuringPeriodValueIssuedForServices_lbl" xml:lang="en-US">Issuance of shares, respectively, shares of common stock for services rendered</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConversionOfStockSharesConverted1" xlink:label="us-gaap_ConversionOfStockSharesConverted1" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConversionOfStockSharesConverted1" xlink:to="us-gaap_ConversionOfStockSharesConverted1_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConversionOfStockSharesConverted1_lbl" xml:lang="en-US">Conversion of Stock, Shares Converted</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_SubsequentEventTable_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTable_lbl" xml:lang="en-US">Subsequent Event [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_SubsequentEventLineItems_lbl" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventLineItems_lbl" xml:lang="en-US">Subsequent Event [Line Items]</label>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>14
<FILENAME>cwco-20221231_pre.xml
<DESCRIPTION>EX-101.PRE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  10.2.0.4 -->
<!--Based on XBRL 2.1-->
<!--Created on: 3/30/2023 5:53:40 PM-->
<!--Modified on: 3/30/2023 5:53:40 PM-->
<link:linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DocumentDocumentAndEntityInformation" roleURI="http://www.cwco.com/role/DocumentDocumentAndEntityInformation" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.cwco.com/role/StatementConsolidatedBalanceSheets" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#StatementConsolidatedBalanceSheetsParenthetical" roleURI="http://www.cwco.com/role/StatementConsolidatedBalanceSheetsParenthetical" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#StatementConsolidatedStatementsOfIncome" roleURI="http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#StatementConsolidatedStatementsOfIncomeParenthetical" roleURI="http://www.cwco.com/role/StatementConsolidatedStatementsOfIncomeParenthetical" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#StatementConsolidatedStatementsOfStockholdersEquity" roleURI="http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#StatementConsolidatedStatementsOfCashFlows" roleURI="http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosurePrincipalActivity" roleURI="http://www.cwco.com/role/DisclosurePrincipalActivity" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureAccountingPolicies" roleURI="http://www.cwco.com/role/DisclosureAccountingPolicies" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureCashAndCashEquivalents" roleURI="http://www.cwco.com/role/DisclosureCashAndCashEquivalents" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureAccountsReceivableNet" roleURI="http://www.cwco.com/role/DisclosureAccountsReceivableNet" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureInventory" roleURI="http://www.cwco.com/role/DisclosureInventory" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureContractsInProgress" roleURI="http://www.cwco.com/role/DisclosureContractsInProgress" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosurePropertyPlantAndEquipmentAndConstructionInProgress" roleURI="http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgress" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureDiscontinuedOperationsMexicoProjectDevelopment" roleURI="http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopment" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureIntangibleAssets" roleURI="http://www.cwco.com/role/DisclosureIntangibleAssets" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureLeases" roleURI="http://www.cwco.com/role/DisclosureLeases" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureIncomeTaxes" roleURI="http://www.cwco.com/role/DisclosureIncomeTaxes" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureEarningsPerShare" roleURI="http://www.cwco.com/role/DisclosureEarningsPerShare" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureDividends" roleURI="http://www.cwco.com/role/DisclosureDividends" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureSegmentInformation" roleURI="http://www.cwco.com/role/DisclosureSegmentInformation" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpenses" roleURI="http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpenses" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureStockBasedCompensation" roleURI="http://www.cwco.com/role/DisclosureStockBasedCompensation" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureRetirementBenefits" roleURI="http://www.cwco.com/role/DisclosureRetirementBenefits" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureFinancialInstruments" roleURI="http://www.cwco.com/role/DisclosureFinancialInstruments" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureContingencies" roleURI="http://www.cwco.com/role/DisclosureContingencies" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureRelatedPartyTransactions" roleURI="http://www.cwco.com/role/DisclosureRelatedPartyTransactions" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureSupplementalDisclosureOfCashFlowInformation" roleURI="http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformation" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureImpactOfRecentAccountingStandards" roleURI="http://www.cwco.com/role/DisclosureImpactOfRecentAccountingStandards" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureSubsequentEvents" roleURI="http://www.cwco.com/role/DisclosureSubsequentEvents" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureAccountingPoliciesPolicies" roleURI="http://www.cwco.com/role/DisclosureAccountingPoliciesPolicies" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureAccountingPoliciesTables" roleURI="http://www.cwco.com/role/DisclosureAccountingPoliciesTables" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureCashAndCashEquivalentsTables" roleURI="http://www.cwco.com/role/DisclosureCashAndCashEquivalentsTables" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureAccountsReceivableNetTables" roleURI="http://www.cwco.com/role/DisclosureAccountsReceivableNetTables" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureInventoryTables" roleURI="http://www.cwco.com/role/DisclosureInventoryTables" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureContractsInProgressTables" roleURI="http://www.cwco.com/role/DisclosureContractsInProgressTables" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosurePropertyPlantAndEquipmentAndConstructionInProgressTables" roleURI="http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressTables" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureDiscontinuedOperationsMexicoProjectDevelopmentTables" roleURI="http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentTables" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureIntangibleAssetsTables" roleURI="http://www.cwco.com/role/DisclosureIntangibleAssetsTables" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureLeasesTables" roleURI="http://www.cwco.com/role/DisclosureLeasesTables" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureIncomeTaxesTables" roleURI="http://www.cwco.com/role/DisclosureIncomeTaxesTables" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureEarningsPerShareTables" roleURI="http://www.cwco.com/role/DisclosureEarningsPerShareTables" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureDividendsTables" roleURI="http://www.cwco.com/role/DisclosureDividendsTables" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureSegmentInformationTables" roleURI="http://www.cwco.com/role/DisclosureSegmentInformationTables" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesTables" roleURI="http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesTables" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureStockBasedCompensationTables" roleURI="http://www.cwco.com/role/DisclosureStockBasedCompensationTables" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureFinancialInstrumentsTables" roleURI="http://www.cwco.com/role/DisclosureFinancialInstrumentsTables" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureSupplementalDisclosureOfCashFlowInformationTables" roleURI="http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationTables" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureAccountingPoliciesAdditionalInformationDetails" roleURI="http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureAccountingPoliciesCashAndCashEquivalentsDetails" roleURI="http://www.cwco.com/role/DisclosureAccountingPoliciesCashAndCashEquivalentsDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails" roleURI="http://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails" roleURI="http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureAccountingPoliciesInvestmentsAndOtherAssetsDetails" roleURI="http://www.cwco.com/role/DisclosureAccountingPoliciesInvestmentsAndOtherAssetsDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureAccountingPoliciesDisaggregatedRevenueDetails" roleURI="http://www.cwco.com/role/DisclosureAccountingPoliciesDisaggregatedRevenueDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureCashAndCashEquivalentsDetails" roleURI="http://www.cwco.com/role/DisclosureCashAndCashEquivalentsDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureAccountsReceivableNetDetails" roleURI="http://www.cwco.com/role/DisclosureAccountsReceivableNetDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureAccountsReceivableNetAllowanceForDoubtfulAccountsDetails" roleURI="http://www.cwco.com/role/DisclosureAccountsReceivableNetAllowanceForDoubtfulAccountsDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureInventoryDetails" roleURI="http://www.cwco.com/role/DisclosureInventoryDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureContractsInProgressDetails" roleURI="http://www.cwco.com/role/DisclosureContractsInProgressDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails" roleURI="http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosurePropertyPlantAndEquipmentAndConstructionInProgressAdditionalInformationDetails" roleURI="http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressAdditionalInformationDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails" roleURI="http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails" roleURI="http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureDiscontinuedOperationsMexicoProjectDevelopmentFinancialInformationDetails" roleURI="http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentFinancialInformationDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails" roleURI="http://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails" roleURI="http://www.cwco.com/role/DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureIntangibleAssetsDetails" roleURI="http://www.cwco.com/role/DisclosureIntangibleAssetsDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureLeasesLeaseAssetsAndLiabilitiesDetails" roleURI="http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureLeasesComponentsOfLeaseCostDetails" roleURI="http://www.cwco.com/role/DisclosureLeasesComponentsOfLeaseCostDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureLeasesSupplementalCashFlowInformationDetails" roleURI="http://www.cwco.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureLeasesFutureLeasePaymentsDetails" roleURI="http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureIncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails" roleURI="http://www.cwco.com/role/DisclosureIncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" roleURI="http://www.cwco.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails" roleURI="http://www.cwco.com/role/DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails" roleURI="http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureIncomeTaxesAdditionalInformationDetails" roleURI="http://www.cwco.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureEarningsPerShareDetails" roleURI="http://www.cwco.com/role/DisclosureEarningsPerShareDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureDividendsDetails" roleURI="http://www.cwco.com/role/DisclosureDividendsDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureSegmentInformationDetails" roleURI="http://www.cwco.com/role/DisclosureSegmentInformationDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureSegmentInformationRevenuesEarnedByMajorGeographicRegionAndMajorCustomerDetails" roleURI="http://www.cwco.com/role/DisclosureSegmentInformationRevenuesEarnedByMajorGeographicRegionAndMajorCustomerDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureSegmentInformationPropertyPlantAndEquipmentNetByMajorGeographicRegionDetails" roleURI="http://www.cwco.com/role/DisclosureSegmentInformationPropertyPlantAndEquipmentNetByMajorGeographicRegionDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureSegmentInformationAdditionalInformationDetails" roleURI="http://www.cwco.com/role/DisclosureSegmentInformationAdditionalInformationDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails" roleURI="http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesGeneralAndAdministrativeExpensesDetails" roleURI="http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesGeneralAndAdministrativeExpensesDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureStockBasedCompensationSignificantWeightedAverageAssumptionsDetails" roleURI="http://www.cwco.com/role/DisclosureStockBasedCompensationSignificantWeightedAverageAssumptionsDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureStockBasedCompensationStockOptionActivityDetails" roleURI="http://www.cwco.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails" roleURI="http://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureStockBasedCompensationDetails" roleURI="http://www.cwco.com/role/DisclosureStockBasedCompensationDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureRetirementBenefitsDetails" roleURI="http://www.cwco.com/role/DisclosureRetirementBenefitsDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureFinancialInstrumentsDetails" roleURI="http://www.cwco.com/role/DisclosureFinancialInstrumentsDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureFinancialInstrumentsLevel3ActivityDetails" roleURI="http://www.cwco.com/role/DisclosureFinancialInstrumentsLevel3ActivityDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureFinancialInstrumentsAdditionalInformationDetails" roleURI="http://www.cwco.com/role/DisclosureFinancialInstrumentsAdditionalInformationDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureCommitmentsAndContingenciesDetails" roleURI="http://www.cwco.com/role/DisclosureCommitmentsAndContingenciesDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureRelatedPartyTransactionsDetails" roleURI="http://www.cwco.com/role/DisclosureRelatedPartyTransactionsDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureSupplementalDisclosureOfCashFlowInformationDetails" roleURI="http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails" />
  <roleRef xlink:type="simple" xlink:href="cwco-20221231.xsd#DisclosureSubsequentEventsDetails" roleURI="http://www.cwco.com/role/DisclosureSubsequentEventsDetails" />
  <presentationLink xlink:role="http://www.cwco.com/role/DocumentDocumentAndEntityInformation" xlink:type="extended" xlink:title="00090 - Document - Document and Entity Information">
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DocumentAndEntityInformationAbstract" xlink:label="loc_cwco_DocumentAndEntityInformationAbstract_187665" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType" xlink:label="dei_DocumentType_638157956166562284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_DocumentType_638157956166562284" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport_638157956166562284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_DocumentAnnualReport_638157956166562284" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate_638157956166562284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_DocumentPeriodEndDate_638157956166562284" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport_638157956166562284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_DocumentTransitionReport_638157956166562284" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber_638157956166562284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_EntityFileNumber_638157956166562284" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName_638157956166562284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_EntityRegistrantName_638157956166562284" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode_638157956166562284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_EntityIncorporationStateCountryCode_638157956166562284" order="7" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber_638157956166562284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_EntityTaxIdentificationNumber_638157956166562284" order="8" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1_638157956166562284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_EntityAddressAddressLine1_638157956166562284" order="9" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2_638157956166562284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_EntityAddressAddressLine2_638157956166562284" order="10" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine3" xlink:label="dei_EntityAddressAddressLine3_638157956166572281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_EntityAddressAddressLine3_638157956166572281" order="11" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown_638157956166572281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_EntityAddressCityOrTown_638157956166572281" order="12" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode_638157956166572281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_EntityAddressPostalZipCode_638157956166572281" order="13" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry_638157956166572281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_EntityAddressCountry_638157956166572281" order="14" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode_638157956166572281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_CityAreaCode_638157956166572281" order="15" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber_638157956166572281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_LocalPhoneNumber_638157956166572281" order="16" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle_638157956166572281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_Security12bTitle_638157956166572281" order="17" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName_638157956166572281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_SecurityExchangeName_638157956166572281" order="18" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol_638157956166572281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_TradingSymbol_638157956166572281" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers_638157956166572281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_EntityVoluntaryFilers_638157956166572281" order="20" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer_638157956166572281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_EntityWellKnownSeasonedIssuer_638157956166572281" order="21" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus_638157956166582302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_EntityCurrentReportingStatus_638157956166582302" order="22" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent_638157956166582302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_EntityInteractiveDataCurrent_638157956166582302" order="23" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory_638157956166582302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_EntityFilerCategory_638157956166582302" order="24" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness_638157956166582302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_EntitySmallBusiness_638157956166582302" order="25" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany_638157956166582302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_EntityEmergingGrowthCompany_638157956166582302" order="26" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag_638157956166582302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_IcfrAuditorAttestationFlag_638157956166582302" order="27" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorName" xlink:label="dei_AuditorName_638157956166582302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_AuditorName_638157956166582302" order="28" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId_638157956166582302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_AuditorFirmId_638157956166582302" order="29" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation_638157956166582302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_AuditorLocation_638157956166582302" order="30" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany_638157956166592291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_EntityShellCompany_638157956166592291" order="31" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding_638157956166592291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_EntityCommonStockSharesOutstanding_638157956166592291" order="32" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey_638157956166592291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_EntityCentralIndexKey_638157956166592291" order="33" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate_638157956166592291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_CurrentFiscalYearEndDate_638157956166592291" order="34" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus_638157956166592291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_DocumentFiscalYearFocus_638157956166592291" order="35" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus_638157956166592291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_DocumentFiscalPeriodFocus_638157956166592291" order="36" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag_638157956166592291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_AmendmentFlag_638157956166592291" order="37" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat_638157956166602289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cwco_DocumentAndEntityInformationAbstract_187665" xlink:to="dei_EntityPublicFloat_638157956166602289" order="38" use="optional" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/StatementConsolidatedBalanceSheets" xlink:type="extended" xlink:title="00100 - Statement - CONSOLIDATED BALANCE SHEETS">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_229" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638157956166602289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_229" xlink:to="us-gaap_StatementTable_638157956166602289" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis_638157956166602289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956166602289" xlink:to="us-gaap_StatementClassOfStockAxis_638157956166602289" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain_638157956166602289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis_638157956166602289" xlink:to="us-gaap_ClassOfStockDomain_638157956166602289" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonClassAMember" xlink:label="us-gaap_CommonClassAMember_638157956166602289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockDomain_638157956166602289" xlink:to="us-gaap_CommonClassAMember_638157956166602289" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonClassBMember" xlink:label="us-gaap_CommonClassBMember_638157956166602289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockDomain_638157956166602289" xlink:to="us-gaap_CommonClassBMember_638157956166602289" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638157956166602289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956166602289" xlink:to="us-gaap_StatementLineItems_638157956166602289" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract_638157956166602289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166602289" xlink:to="us-gaap_AssetsAbstract_638157956166602289" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract_638157956166602289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638157956166602289" xlink:to="us-gaap_AssetsCurrentAbstract_638157956166602289" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638157956166612292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638157956166602289" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638157956166612292" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CertificatesOfDepositAtCarryingValue" xlink:label="us-gaap_CertificatesOfDepositAtCarryingValue_638157956166612292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638157956166602289" xlink:to="us-gaap_CertificatesOfDepositAtCarryingValue_638157956166612292" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638157956166612292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638157956166602289" xlink:to="us-gaap_AccountsReceivableNetCurrent_638157956166612292" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet_638157956166612292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638157956166602289" xlink:to="us-gaap_InventoryNet_638157956166612292" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638157956166612292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638157956166602289" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638157956166612292" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_638157956166612292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638157956166602289" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_638157956166612292" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue_638157956166612292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638157956166602289" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue_638157956166612292" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent" xlink:label="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent_638157956166612292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638157956166602289" xlink:to="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent_638157956166612292" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638157956166612292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638157956166602289" xlink:to="us-gaap_AssetsCurrent_638157956166612292" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_638157956166612292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638157956166602289" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638157956166612292" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ConstructionInProgress" xlink:label="cwco_ConstructionInProgress_638157956166612292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638157956166602289" xlink:to="cwco_ConstructionInProgress_638157956166612292" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNoncurrent" xlink:label="us-gaap_InventoryNoncurrent_638157956166622295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638157956166602289" xlink:to="us-gaap_InventoryNoncurrent_638157956166622295" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments_638157956166622295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638157956166602289" xlink:to="us-gaap_EquityMethodInvestments_638157956166622295" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638157956166622295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638157956166602289" xlink:to="us-gaap_Goodwill_638157956166622295" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_638157956166622295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638157956166602289" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_638157956166622295" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638157956166622295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638157956166602289" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638157956166622295" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638157956166622295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638157956166602289" xlink:to="us-gaap_OtherAssetsNoncurrent_638157956166622295" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent_638157956166622295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638157956166602289" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent_638157956166622295" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_638157956166622295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638157956166602289" xlink:to="us-gaap_Assets_638157956166622295" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638157956166622295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166602289" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638157956166622295" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract_638157956166632297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638157956166622295" xlink:to="us-gaap_LiabilitiesCurrentAbstract_638157956166632297" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent_638157956166632297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638157956166632297" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent_638157956166632297" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableRelatedPartiesCurrent" xlink:label="us-gaap_AccountsPayableRelatedPartiesCurrent_638157956166632297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638157956166632297" xlink:to="us-gaap_AccountsPayableRelatedPartiesCurrent_638157956166632297" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedEmployeeBenefitsCurrent" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent_638157956166632297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638157956166632297" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent_638157956166632297" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsPayableCurrent" xlink:label="us-gaap_DividendsPayableCurrent_638157956166632297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638157956166632297" xlink:to="us-gaap_DividendsPayableCurrent_638157956166632297" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638157956166632297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638157956166632297" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638157956166632297" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent_638157956166632297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638157956166632297" xlink:to="us-gaap_LongTermDebtCurrent_638157956166632297" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638157956166632297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638157956166632297" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638157956166632297" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeCurrent" xlink:label="us-gaap_DeferredIncomeCurrent_638157956166642288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638157956166632297" xlink:to="us-gaap_DeferredIncomeCurrent_638157956166642288" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent_638157956166642288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638157956166632297" xlink:to="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent_638157956166642288" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_638157956166642288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638157956166632297" xlink:to="us-gaap_LiabilitiesCurrent_638157956166642288" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent_638157956166642288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638157956166632297" xlink:to="us-gaap_LongTermDebtNoncurrent_638157956166642288" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_638157956166642288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638157956166632297" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638157956166642288" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638157956166642288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638157956166632297" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638157956166642288" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_638157956166642288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638157956166632297" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_638157956166642288" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent_638157956166652289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638157956166632297" xlink:to="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent_638157956166652289" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638157956166652289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638157956166622295" xlink:to="us-gaap_Liabilities_638157956166652289" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies_638157956166652289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638157956166622295" xlink:to="us-gaap_CommitmentsAndContingencies_638157956166652289" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638157956166652289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638157956166622295" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638157956166652289" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract_638157956166652289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638157956166652289" xlink:to="us-gaap_StockholdersEquityAbstract_638157956166652289" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue_638157956166652289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638157956166652289" xlink:to="us-gaap_PreferredStockValue_638157956166652289" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_638157956166662283" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638157956166652289" xlink:to="us-gaap_CommonStockValue_638157956166662283" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital_638157956166662283" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638157956166652289" xlink:to="us-gaap_AdditionalPaidInCapital_638157956166662283" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_638157956166662283" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638157956166652289" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_638157956166662283" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638157956166662283" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638157956166652289" xlink:to="us-gaap_StockholdersEquity_638157956166662283" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest_638157956166662283" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638157956166652289" xlink:to="us-gaap_MinorityInterest_638157956166662283" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638157956166662283" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638157956166652289" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638157956166662283" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_638157956166672282" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638157956166652289" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_638157956166672282" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/StatementConsolidatedBalanceSheetsParenthetical" xlink:type="extended" xlink:title="00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_308" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638157956166672282" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_308" xlink:to="us-gaap_StatementTable_638157956166672282" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis_638157956166672282" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956166672282" xlink:to="us-gaap_StatementClassOfStockAxis_638157956166672282" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain_638157956166682291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis_638157956166672282" xlink:to="us-gaap_ClassOfStockDomain_638157956166682291" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonClassAMember" xlink:label="us-gaap_CommonClassAMember_638157956166682291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockDomain_638157956166682291" xlink:to="us-gaap_CommonClassAMember_638157956166682291" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonClassBMember" xlink:label="us-gaap_CommonClassBMember_638157956166682291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockDomain_638157956166682291" xlink:to="us-gaap_CommonClassBMember_638157956166682291" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638157956166682291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956166672282" xlink:to="us-gaap_StatementLineItems_638157956166682291" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_638157956166682291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166682291" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare_638157956166682291" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized_638157956166682291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166682291" xlink:to="us-gaap_PreferredStockSharesAuthorized_638157956166682291" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued_638157956166682291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166682291" xlink:to="us-gaap_PreferredStockSharesIssued_638157956166682291" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding_638157956166682291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166682291" xlink:to="us-gaap_PreferredStockSharesOutstanding_638157956166682291" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_638157956166682291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166682291" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_638157956166682291" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized_638157956166682291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166682291" xlink:to="us-gaap_CommonStockSharesAuthorized_638157956166682291" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_638157956166682291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166682291" xlink:to="us-gaap_CommonStockSharesIssued_638157956166682291" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding_638157956166692311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166682291" xlink:to="us-gaap_CommonStockSharesOutstanding_638157956166692311" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome" xlink:type="extended" xlink:title="00200 - Statement - CONSOLIDATED STATEMENTS OF INCOME">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaap_IncomeStatementAbstract_371" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues_638157956166692311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_371" xlink:to="us-gaap_Revenues_638157956166692311" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue_638157956166692311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_371" xlink:to="us-gaap_CostOfRevenue_638157956166692311" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638157956166692311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_371" xlink:to="us-gaap_GrossProfit_638157956166692311" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense_638157956166692311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_371" xlink:to="us-gaap_GeneralAndAdministrativeExpense_638157956166692311" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges" xlink:label="us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges_638157956166692311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_371" xlink:to="us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges_638157956166692311" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638157956166692311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_371" xlink:to="us-gaap_OperatingIncomeLoss_638157956166692311" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_638157956166692311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_371" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_638157956166692311" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestIncomeOther" xlink:label="us-gaap_InterestIncomeOther_638157956166692311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638157956166692311" xlink:to="us-gaap_InterestIncomeOther_638157956166692311" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense_638157956166702306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638157956166692311" xlink:to="us-gaap_InterestExpense_638157956166702306" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ProfitLossFromSubsidiaries" xlink:label="cwco_ProfitLossFromSubsidiaries_638157956166702306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638157956166692311" xlink:to="cwco_ProfitLossFromSubsidiaries_638157956166702306" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_638157956166702306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638157956166692311" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_638157956166702306" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_638157956166702306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638157956166692311" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_638157956166702306" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_638157956166702306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638157956166692311" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_638157956166702306" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense_638157956166702306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638157956166692311" xlink:to="us-gaap_NonoperatingIncomeExpense_638157956166702306" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638157956166702306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_371" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638157956166702306" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638157956166702306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_371" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638157956166702306" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_638157956166702306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_371" xlink:to="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_638157956166702306" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity" xlink:label="us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity_638157956166702306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_371" xlink:to="us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity_638157956166702306" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperations" xlink:label="us-gaap_IncomeLossFromContinuingOperations_638157956166712295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_371" xlink:to="us-gaap_IncomeLossFromContinuingOperations_638157956166712295" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax" xlink:label="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax_638157956166712295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_371" xlink:to="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax_638157956166712295" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_638157956166712295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_371" xlink:to="us-gaap_NetIncomeLoss_638157956166712295" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="us-gaap_EarningsPerShareBasicAbstract_638157956166712295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_371" xlink:to="us-gaap_EarningsPerShareBasicAbstract_638157956166712295" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:label="us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_638157956166712295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareBasicAbstract_638157956166712295" xlink:to="us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_638157956166712295" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare_638157956166712295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareBasicAbstract_638157956166712295" xlink:to="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare_638157956166712295" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic_638157956166712295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareBasicAbstract_638157956166712295" xlink:to="us-gaap_EarningsPerShareBasic_638157956166712295" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDilutedAbstract" xlink:label="us-gaap_EarningsPerShareDilutedAbstract_638157956166712295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_371" xlink:to="us-gaap_EarningsPerShareDilutedAbstract_638157956166712295" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:label="us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_638157956166712295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareDilutedAbstract_638157956166712295" xlink:to="us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_638157956166712295" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare_638157956166722285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareDilutedAbstract_638157956166712295" xlink:to="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare_638157956166722285" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted_638157956166722285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareDilutedAbstract_638157956166712295" xlink:to="us-gaap_EarningsPerShareDiluted_638157956166722285" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockDividendsPerShareDeclared" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_638157956166722285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_371" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared_638157956166722285" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_638157956166722285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_371" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_638157956166722285" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638157956166722285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_638157956166722285" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638157956166722285" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638157956166722285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_638157956166722285" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638157956166722285" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/StatementConsolidatedStatementsOfIncomeParenthetical" xlink:type="extended" xlink:title="00205 - Statement - CONSOLIDATED STATEMENTS OF INCOME (Parenthetical)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638157956166732294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_StatementTable_638157956166732294" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis_638157956166732294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956166732294" xlink:to="us-gaap_IncomeStatementLocationAxis_638157956166732294" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain_638157956166732294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis_638157956166732294" xlink:to="us-gaap_IncomeStatementLocationDomain_638157956166732294" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember_638157956166732294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain_638157956166732294" xlink:to="us-gaap_CostOfSalesMember_638157956166732294" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember_638157956166732294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain_638157956166732294" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember_638157956166732294" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638157956166732294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956166732294" xlink:to="us-gaap_StatementLineItems_638157956166732294" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_638157956166732294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166732294" xlink:to="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_638157956166732294" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity" xlink:type="extended" xlink:title="00300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_571" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638157956166732294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_571" xlink:to="us-gaap_StatementTable_638157956166732294" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis_638157956166732294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956166732294" xlink:to="us-gaap_StatementClassOfStockAxis_638157956166732294" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RedeemablePreferredStockMember" xlink:label="us-gaap_RedeemablePreferredStockMember_638157956166732294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis_638157956166732294" xlink:to="us-gaap_RedeemablePreferredStockMember_638157956166732294" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain_638157956166732294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis_638157956166732294" xlink:to="us-gaap_ClassOfStockDomain_638157956166732294" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_638157956166742297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956166732294" xlink:to="us-gaap_StatementEquityComponentsAxis_638157956166742297" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockMember" xlink:label="us-gaap_PreferredStockMember_638157956166742297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638157956166742297" xlink:to="us-gaap_PreferredStockMember_638157956166742297" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember_638157956166742297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638157956166742297" xlink:to="us-gaap_CommonStockMember_638157956166742297" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember_638157956166742297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638157956166742297" xlink:to="us-gaap_AdditionalPaidInCapitalMember_638157956166742297" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember_638157956166742297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638157956166742297" xlink:to="us-gaap_RetainedEarningsMember_638157956166742297" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember_638157956166742297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638157956166742297" xlink:to="us-gaap_NoncontrollingInterestMember_638157956166742297" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638157956166742297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638157956166742297" xlink:to="us-gaap_EquityComponentDomain_638157956166742297" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638157956166742297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956166732294" xlink:to="us-gaap_StatementLineItems_638157956166742297" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638157956166742297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166742297" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638157956166742297" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding_638157956166742297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166742297" xlink:to="us-gaap_SharesOutstanding_638157956166742297" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues_638157956166742297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166742297" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues_638157956166742297" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638157956166752300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166742297" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638157956166752300" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_638157956166752300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166742297" xlink:to="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_638157956166752300" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_638157956166752300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166742297" xlink:to="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_638157956166752300" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRedeemedOrCalledDuringPeriodValue" xlink:label="us-gaap_StockRedeemedOrCalledDuringPeriodValue_638157956166752300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166742297" xlink:to="us-gaap_StockRedeemedOrCalledDuringPeriodValue_638157956166752300" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRedeemedOrCalledDuringPeriodShares" xlink:label="us-gaap_StockRedeemedOrCalledDuringPeriodShares_638157956166752300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166742297" xlink:to="us-gaap_StockRedeemedOrCalledDuringPeriodShares_638157956166752300" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638157956166752300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166742297" xlink:to="us-gaap_ProfitLoss_638157956166752300" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_638157956166752300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166742297" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_638157956166752300" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638157956166752300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166742297" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638157956166752300" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsCash" xlink:label="us-gaap_DividendsCash_638157956166752300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166742297" xlink:to="us-gaap_DividendsCash_638157956166752300" order="12" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_638157956166762281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166742297" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_638157956166762281" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638157956166762281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166742297" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638157956166762281" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding_638157956166762281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166742297" xlink:to="us-gaap_SharesOutstanding_638157956166762281" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="00400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract_637241144210621299" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638157956166762281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637241144210621299" xlink:to="us-gaap_StatementTable_638157956166762281" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis_638157956166762281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956166762281" xlink:to="us-gaap_StatementClassOfStockAxis_638157956166762281" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain_638157956166762281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis_638157956166762281" xlink:to="us-gaap_ClassOfStockDomain_638157956166762281" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RedeemablePreferredStockMember" xlink:label="us-gaap_RedeemablePreferredStockMember_638157956166762281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockDomain_638157956166762281" xlink:to="us-gaap_RedeemablePreferredStockMember_638157956166762281" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember_638157956166772286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockDomain_638157956166762281" xlink:to="us-gaap_CommonStockMember_638157956166772286" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638157956166772286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956166762281" xlink:to="us-gaap_StatementLineItems_638157956166772286" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638157956166772286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166772286" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638157956166772286" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_638157956166772286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638157956166772286" xlink:to="us-gaap_NetIncomeLoss_638157956166772286" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638157956166772286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638157956166772286" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638157956166772286" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638157956166772286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638157956166772286" xlink:to="us-gaap_ProfitLoss_638157956166772286" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638157956166772286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638157956166772286" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638157956166772286" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment_638157956166772286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638157956166772286" xlink:to="cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment_638157956166772286" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationAndAmortizationDiscontinuedOperations" xlink:label="us-gaap_DepreciationAndAmortizationDiscontinuedOperations_638157956166772286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638157956166772286" xlink:to="us-gaap_DepreciationAndAmortizationDiscontinuedOperations_638157956166772286" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses_638157956166772286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638157956166772286" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses_638157956166772286" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupNotDiscontinuedOperationGainLossOnDisposal" xlink:label="us-gaap_DisposalGroupNotDiscontinuedOperationGainLossOnDisposal_638157956166772286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638157956166772286" xlink:to="us-gaap_DisposalGroupNotDiscontinuedOperationGainLossOnDisposal_638157956166772286" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization_638157956166782283" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638157956166772286" xlink:to="us-gaap_DepreciationAndAmortization_638157956166782283" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_638157956166782283" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638157956166772286" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_638157956166782283" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_638157956166822296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638157956166772286" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_638157956166822296" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638157956166822296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638157956166772286" xlink:to="us-gaap_ShareBasedCompensation_638157956166822296" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="us-gaap_GainLossOnDispositionOfAssets1_638157956166822296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638157956166772286" xlink:to="us-gaap_GainLossOnDispositionOfAssets1_638157956166822296" order="9" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_IncomeLossFromEquityMethodInvestmentsAndSubsidiaries" xlink:label="cwco_IncomeLossFromEquityMethodInvestmentsAndSubsidiaries_638157956166822296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638157956166772286" xlink:to="cwco_IncomeLossFromEquityMethodInvestmentsAndSubsidiaries_638157956166822296" order="10" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentDividendsOrDistributions" xlink:label="us-gaap_EquityMethodInvestmentDividendsOrDistributions_638157956166822296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638157956166772286" xlink:to="us-gaap_EquityMethodInvestmentDividendsOrDistributions_638157956166822296" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss_638157956166822296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638157956166772286" xlink:to="us-gaap_GoodwillImpairmentLoss_638157956166822296" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638157956166822296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638157956166772286" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638157956166822296" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset" xlink:label="cwco_IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset_638157956166822296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638157956166822296" xlink:to="cwco_IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset_638157956166822296" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories_638157956166832290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638157956166822296" xlink:to="us-gaap_IncreaseDecreaseInInventories_638157956166832290" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638157956166832290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638157956166822296" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638157956166832290" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities" xlink:label="cwco_IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities_638157956166832290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638157956166822296" xlink:to="cwco_IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities_638157956166832290" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_IncreaseDecreaseInContractLiability" xlink:label="cwco_IncreaseDecreaseInContractLiability_638157956166832290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638157956166822296" xlink:to="cwco_IncreaseDecreaseInContractLiability_638157956166832290" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOperatingLiabilities_638157956166832290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638157956166822296" xlink:to="us-gaap_IncreaseDecreaseInOperatingLiabilities_638157956166832290" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue_638157956166832290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638157956166822296" xlink:to="us-gaap_IncreaseDecreaseInDeferredRevenue_638157956166832290" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956166832290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166772286" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_638157956166832290" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations" xlink:label="us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations_638157956166832290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166772286" xlink:to="us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations_638157956166832290" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_638157956166842289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166772286" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_638157956166842289" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638157956166842289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166772286" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638157956166842289" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PaymentsToAcquireCertificatesOfDeposit" xlink:label="cwco_PaymentsToAcquireCertificatesOfDeposit_638157956166842289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638157956166842289" xlink:to="cwco_PaymentsToAcquireCertificatesOfDeposit_638157956166842289" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities" xlink:label="us-gaap_ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities_638157956166842289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638157956166842289" xlink:to="us-gaap_ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities_638157956166842289" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638157956166842289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638157956166842289" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638157956166842289" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638157956166852293" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638157956166842289" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638157956166852293" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_638157956166852293" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638157956166842289" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_638157956166852293" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638157956166852293" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166772286" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638157956166852293" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="us-gaap_PaymentsOfDividendsCommonStock_638157956166852293" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638157956166852293" xlink:to="us-gaap_PaymentsOfDividendsCommonStock_638157956166852293" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDividendsPreferredStockAndPreferenceStock" xlink:label="us-gaap_PaymentsOfDividendsPreferredStockAndPreferenceStock_638157956166852293" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638157956166852293" xlink:to="us-gaap_PaymentsOfDividendsPreferredStockAndPreferenceStock_638157956166852293" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="us-gaap_PaymentsToMinorityShareholders_638157956166852293" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638157956166852293" xlink:to="us-gaap_PaymentsToMinorityShareholders_638157956166852293" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromRepurchaseOfRedeemablePreferredStock" xlink:label="us-gaap_ProceedsFromRepurchaseOfRedeemablePreferredStock_638157956166852293" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638157956166852293" xlink:to="us-gaap_ProceedsFromRepurchaseOfRedeemablePreferredStock_638157956166852293" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/definitionGuidance" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_638157956166862289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638157956166852293" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_638157956166862289" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt_638157956166862289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638157956166852293" xlink:to="us-gaap_RepaymentsOfLongTermDebt_638157956166862289" order="6" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_638157956166862289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638157956166852293" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_638157956166862289" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_638157956166862289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166772286" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_638157956166862289" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638157956166862289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166772286" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638157956166862289" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_638157956166872295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166772286" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_638157956166872295" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_6381579561668722951" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166772286" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_6381579561668722951" order="10" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638157956166872295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166772286" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638157956166872295" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638157956166872295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956166772286" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638157956166872295" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssued1" xlink:label="us-gaap_StockIssued1_638157956166872295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638157956166872295" xlink:to="us-gaap_StockIssued1_638157956166872295" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConversionOfStockAmountConverted1" xlink:label="us-gaap_ConversionOfStockAmountConverted1_638157956166882285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638157956166872295" xlink:to="us-gaap_ConversionOfStockAmountConverted1_638157956166882285" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosurePrincipalActivity" xlink:type="extended" xlink:title="10101 - Disclosure - Principal activity">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_1138" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NatureOfOperations" xlink:label="us-gaap_NatureOfOperations_638157956166882285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_1138" xlink:to="us-gaap_NatureOfOperations_638157956166882285" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureAccountingPolicies" xlink:type="extended" xlink:title="10201 - Disclosure - Accounting policies">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_638157956166882285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_2" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock_638157956166882285" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureCashAndCashEquivalents" xlink:type="extended" xlink:title="10301 - Disclosure - Cash and cash equivalents">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="us-gaap_CashAndCashEquivalentsAbstract_637050102262911081" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsDisclosureTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsDisclosureTextBlock_638157956166892295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAbstract_637050102262911081" xlink:to="us-gaap_CashAndCashEquivalentsDisclosureTextBlock_638157956166892295" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureAccountsReceivableNet" xlink:type="extended" xlink:title="10401 - Disclosure - Accounts receivable, net">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract_637050102262911081" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_638157956166892295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_637050102262911081" xlink:to="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_638157956166892295" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureInventory" xlink:type="extended" xlink:title="10501 - Disclosure - Inventory">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="us-gaap_InventoryDisclosureAbstract_637050102262911081" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock_638157956166892295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryDisclosureAbstract_637050102262911081" xlink:to="us-gaap_InventoryDisclosureTextBlock_638157956166892295" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureContractsInProgress" xlink:type="extended" xlink:title="10601 - Disclosure - Contracts in progress">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_638157956166902286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_638157956166902286" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgress" xlink:type="extended" xlink:title="10701 - Disclosure - Property, plant and equipment and construction in progress">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_637050102262921067" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_638157956166902286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract_637050102262921067" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_638157956166902286" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopment" xlink:type="extended" xlink:title="10801 - Disclosure - Discontinued operations - Mexico project development">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract" xlink:label="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_344297" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock" xlink:label="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock_638157956166902286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_344297" xlink:to="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock_638157956166902286" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureIntangibleAssets" xlink:type="extended" xlink:title="10901 - Disclosure - Intangible assets">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637050102262931026" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_638157956166902286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637050102262931026" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock_638157956166902286" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureLeases" xlink:type="extended" xlink:title="11001 - Disclosure - Leases">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract_417333" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_638157956166912283" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_417333" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_638157956166912283" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureIncomeTaxes" xlink:type="extended" xlink:title="11101 - Disclosure - Income taxes">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_637050102262940998" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_638157956166912283" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637050102262940998" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_638157956166912283" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureEarningsPerShare" xlink:type="extended" xlink:title="11201 - Disclosure - Earnings per share">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_284" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock_638157956166912283" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_284" xlink:to="us-gaap_EarningsPerShareTextBlock_638157956166912283" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureDividends" xlink:type="extended" xlink:title="11301 - Disclosure - Dividends">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsAbstract" xlink:label="us-gaap_DividendsAbstract_637050102262950975" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DividendsTextBlock" xlink:label="cwco_DividendsTextBlock_638157956166912283" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DividendsAbstract_637050102262950975" xlink:to="cwco_DividendsTextBlock_638157956166912283" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureSegmentInformation" xlink:type="extended" xlink:title="11401 - Disclosure - Segment information">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaap_SegmentReportingAbstract_290" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_638157956166922288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_290" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_638157956166922288" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpenses" xlink:type="extended" xlink:title="11501 - Disclosure - Cost of revenues and general and administrative expenses">
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract_637050102262950975" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock_638157956166922288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract_637050102262950975" xlink:to="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock_638157956166922288" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureStockBasedCompensation" xlink:type="extended" xlink:title="11601 - Disclosure - Stock-based compensation">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637050102262950975" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_638157956166922288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637050102262950975" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_638157956166922288" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureRetirementBenefits" xlink:type="extended" xlink:title="11701 - Disclosure - Retirement benefits">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_637050102262960945" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_638157956166932282" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637050102262960945" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_638157956166932282" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureFinancialInstruments" xlink:type="extended" xlink:title="11801 - Disclosure - Financial instruments">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsAllOtherInvestmentsAbstract" xlink:label="us-gaap_InvestmentsAllOtherInvestmentsAbstract_637050102262960945" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentsDisclosureTextBlock" xlink:label="us-gaap_FinancialInstrumentsDisclosureTextBlock_638157956166932282" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsAllOtherInvestmentsAbstract_637050102262960945" xlink:to="us-gaap_FinancialInstrumentsDisclosureTextBlock_638157956166932282" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureContingencies" xlink:type="extended" xlink:title="11901 - Disclosure - Contingencies">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_327" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_638157956166932282" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_327" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_638157956166932282" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureRelatedPartyTransactions" xlink:type="extended" xlink:title="12001 - Disclosure - Related party transactions">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="us-gaap_RelatedPartyTransactionsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_638157956166942302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_638157956166942302" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformation" xlink:type="extended" xlink:title="12101 - Disclosure - Supplemental disclosure of cash flow information">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalCashFlowElementsAbstract" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract_637050102262970917" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashFlowSupplementalDisclosuresTextBlock" xlink:label="us-gaap_CashFlowSupplementalDisclosuresTextBlock_638157956166942302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract_637050102262970917" xlink:to="us-gaap_CashFlowSupplementalDisclosuresTextBlock_638157956166942302" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureImpactOfRecentAccountingStandards" xlink:type="extended" xlink:title="12201 - Disclosure - Impact of recent accounting standards">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract" xlink:label="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract_333" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_638157956166942302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract_333" xlink:to="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_638157956166942302" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureSubsequentEvents" xlink:type="extended" xlink:title="12301 - Disclosure - Subsequent events">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaap_SubsequentEventsAbstract_336" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock_638157956166952290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventsAbstract_336" xlink:to="us-gaap_SubsequentEventsTextBlock_638157956166952290" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureAccountingPoliciesPolicies" xlink:type="extended" xlink:title="20202 - Disclosure - Accounting policies (Policies)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_638157956166952290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_638157956166952290" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates_638157956166952290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_UseOfEstimates_638157956166952290" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock_638157956166952290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ConsolidationPolicyTextBlock_638157956166952290" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_638157956166952290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_638157956166952290" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_638157956166952290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_638157956166952290" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_638157956166952290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy_638157956166952290" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock_638157956166952290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_InventoryPolicyTextBlock_638157956166952290" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_638157956166952290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_638157956166952290" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_638157956166952290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_638157956166952290" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_638157956166962287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_638157956166962287" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_638157956166962287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_638157956166962287" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentPolicyTextBlock" xlink:label="us-gaap_InvestmentPolicyTextBlock_638157956166962287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_InvestmentPolicyTextBlock_638157956166962287" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OtherAssetsPolicyTextBlock" xlink:label="cwco_OtherAssetsPolicyTextBlock_638157956166962287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="cwco_OtherAssetsPolicyTextBlock_638157956166962287" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_638157956166962287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_638157956166962287" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_638157956166962287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock_638157956166962287" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:label="us-gaap_PriorPeriodReclassificationAdjustmentDescription_638157956166962287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_PriorPeriodReclassificationAdjustmentDescription_638157956166962287" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureAccountingPoliciesTables" xlink:type="extended" xlink:title="30203 - Disclosure - Accounting policies (Tables)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" xlink:label="cwco_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_638157956166972323" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="cwco_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_638157956166972323" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_638157956166972323" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_638157956166972323" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureCashAndCashEquivalentsTables" xlink:type="extended" xlink:title="30303 - Disclosure - Cash and cash equivalents (Tables)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="us-gaap_CashAndCashEquivalentsAbstract_637050102263000836" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock_638157956166972323" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAbstract_637050102263000836" xlink:to="us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock_638157956166972323" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureAccountsReceivableNetTables" xlink:type="extended" xlink:title="30403 - Disclosure - Accounts receivable, net (Tables)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract_637050102263000836" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_638157956166972323" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_637050102263000836" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_638157956166972323" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:label="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_638157956166972323" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_637050102263000836" xlink:to="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_638157956166972323" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureInventoryTables" xlink:type="extended" xlink:title="30503 - Disclosure - Inventory (Tables)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="us-gaap_InventoryDisclosureAbstract_637050102263000836" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryNoncurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryNoncurrentTableTextBlock_638157956166982301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryDisclosureAbstract_637050102263000836" xlink:to="us-gaap_ScheduleOfInventoryNoncurrentTableTextBlock_638157956166982301" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureContractsInProgressTables" xlink:type="extended" xlink:title="30603 - Disclosure - Contracts in progress (Tables)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock" xlink:label="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock_638157956166982301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock_638157956166982301" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressTables" xlink:type="extended" xlink:title="30703 - Disclosure - Property, plant and equipment and construction in progress (Tables)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_637050102263010808" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_638157956166982301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract_637050102263010808" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_638157956166982301" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentTables" xlink:type="extended" xlink:title="30803 - Disclosure - Discontinued operations - Mexico project development (Tables)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract" xlink:label="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_344300" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock" xlink:label="us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock_638157956166992310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_344300" xlink:to="us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock_638157956166992310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureIntangibleAssetsTables" xlink:type="extended" xlink:title="30903 - Disclosure - Intangible assets (Tables)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637050102263020810" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_638157956166992310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637050102263020810" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_638157956166992310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_638157956166992310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637050102263020810" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_638157956166992310" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureLeasesTables" xlink:type="extended" xlink:title="31003 - Disclosure - Leases (Tables)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract_417336" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock" xlink:label="cwco_LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock_638157956167002302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_417336" xlink:to="cwco_LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock_638157956167002302" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock_638157956167002302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_417336" xlink:to="us-gaap_LeaseCostTableTextBlock_638157956167002302" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:label="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock_638157956167002302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_417336" xlink:to="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock_638157956167002302" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_638157956167002302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_417336" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_638157956167002302" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureIncomeTaxesTables" xlink:type="extended" xlink:title="31103 - Disclosure - Income taxes (Tables)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_637050102263030773" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_638157956167002302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637050102263030773" xlink:to="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_638157956167002302" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_638157956167002302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637050102263030773" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_638157956167002302" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_638157956167002302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637050102263030773" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_638157956167002302" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_638157956167002302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637050102263030773" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_638157956167002302" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureEarningsPerShareTables" xlink:type="extended" xlink:title="31203 - Disclosure - Earnings per share (Tables)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_441" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_638157956167012287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_441" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_638157956167012287" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureDividendsTables" xlink:type="extended" xlink:title="31303 - Disclosure - Dividends (Tables)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsAbstract" xlink:label="us-gaap_DividendsAbstract_637050102263040732" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsDeclaredTableTextBlock" xlink:label="us-gaap_DividendsDeclaredTableTextBlock_638157956167012287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DividendsAbstract_637050102263040732" xlink:to="us-gaap_DividendsDeclaredTableTextBlock_638157956167012287" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureSegmentInformationTables" xlink:type="extended" xlink:title="31403 - Disclosure - Segment information (Tables)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaap_SegmentReportingAbstract_447" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_638157956167022284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_447" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_638157956167022284" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_638157956167022284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_447" xlink:to="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_638157956167022284" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_638157956167022284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_447" xlink:to="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_638157956167022284" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesTables" xlink:type="extended" xlink:title="31503 - Disclosure - Cost of revenues and general and administrative expenses (Tables)">
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract_637050102263050709" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock_638157956167022284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract_637050102263050709" xlink:to="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock_638157956167022284" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureStockBasedCompensationTables" xlink:type="extended" xlink:title="31603 - Disclosure - Stock-based compensation (Tables)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637050102263050709" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_638157956167022284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637050102263050709" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_638157956167022284" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_638157956167032286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637050102263050709" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_638157956167032286" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" xlink:label="us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock_638157956167032286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637050102263050709" xlink:to="us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock_638157956167032286" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureFinancialInstrumentsTables" xlink:type="extended" xlink:title="31803 - Disclosure - Financial instruments (Tables)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsAllOtherInvestmentsAbstract" xlink:label="us-gaap_InvestmentsAllOtherInvestmentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_638157956167032286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsAllOtherInvestmentsAbstract" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_638157956167032286" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_638157956167032286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsAllOtherInvestmentsAbstract" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_638157956167032286" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationTables" xlink:type="extended" xlink:title="32103 - Disclosure - Supplemental disclosure of cash flow information (Tables)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalCashFlowElementsAbstract" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract_637050102263070664" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ScheduleOfSupplementalDisclosureOfCashFlowInformation" xlink:label="cwco_ScheduleOfSupplementalDisclosureOfCashFlowInformation_638157956167032286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract_637050102263070664" xlink:to="cwco_ScheduleOfSupplementalDisclosureOfCashFlowInformation_638157956167032286" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails" xlink:type="extended" xlink:title="40201 - Disclosure - Accounting policies - Additional Information (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_531" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638157956167042285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_531" xlink:to="us-gaap_StatementTable_638157956167042285" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis_638157956167042285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167042285" xlink:to="us-gaap_BusinessAcquisitionAxis_638157956167042285" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_638157956167042285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis_638157956167042285" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_638157956167042285" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AerexIndustriesIncMember" xlink:label="cwco_AerexIndustriesIncMember_638157956167042285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_638157956167042285" xlink:to="cwco_AerexIndustriesIncMember_638157956167042285" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PercWaterCorporationMember" xlink:label="cwco_PercWaterCorporationMember_638157956167042285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_638157956167042285" xlink:to="cwco_PercWaterCorporationMember_638157956167042285" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis_638157956167042285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167042285" xlink:to="srt_OwnershipAxis_638157956167042285" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_638157956167042285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipAxis_638157956167042285" xlink:to="srt_OwnershipDomain_638157956167042285" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PercWaterCorporationMember" xlink:label="cwco_PercWaterCorporationMember_6381579561670422851" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipDomain_638157956167042285" xlink:to="cwco_PercWaterCorporationMember_6381579561670422851" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_638157956167042285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167042285" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_638157956167042285" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167042285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis_638157956167042285" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167042285" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember_638157956167042285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167042285" xlink:to="us-gaap_SalesRevenueNetMember_638157956167042285" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_GrossProfitMember" xlink:label="cwco_GrossProfitMember_638157956167052306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167042285" xlink:to="cwco_GrossProfitMember_638157956167052306" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_638157956167052306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167042285" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_638157956167052306" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_638157956167052306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis_638157956167052306" xlink:to="us-gaap_ConcentrationRiskTypeDomain_638157956167052306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember_638157956167052306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain_638157956167052306" xlink:to="us-gaap_CustomerConcentrationRiskMember_638157956167052306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis_638157956167052306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167042285" xlink:to="us-gaap_SubsequentEventTypeAxis_638157956167052306" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain_638157956167052306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis_638157956167052306" xlink:to="us-gaap_SubsequentEventTypeDomain_638157956167052306" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember_638157956167052306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeDomain_638157956167052306" xlink:to="us-gaap_SubsequentEventMember_638157956167052306" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638157956167052306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167042285" xlink:to="us-gaap_StatementLineItems_638157956167052306" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_638157956167052306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167052306" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_638157956167052306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent_638157956167052306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167052306" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent_638157956167052306" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_638157956167062291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167052306" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_638157956167062291" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_638157956167062291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167052306" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1_638157956167062291" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestCostsCapitalized" xlink:label="us-gaap_InterestCostsCapitalized_638157956167062291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167052306" xlink:to="us-gaap_InterestCostsCapitalized_638157956167062291" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1_638157956167062291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167052306" xlink:to="us-gaap_ConcentrationRiskPercentage1_638157956167062291" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NumberOfCustomers" xlink:label="cwco_NumberOfCustomers_638157956167062291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167052306" xlink:to="cwco_NumberOfCustomers_638157956167062291" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureAccountingPoliciesCashAndCashEquivalentsDetails" xlink:type="extended" xlink:title="40202 - Disclosure - Accounting policies - Cash and cash equivalents (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract_637522760483261336" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638157956167062291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_637522760483261336" xlink:to="us-gaap_StatementTable_638157956167062291" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAxis" xlink:label="us-gaap_CashAndCashEquivalentsAxis_638157956167072292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167062291" xlink:to="us-gaap_CashAndCashEquivalentsAxis_638157956167072292" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_638157956167072292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAxis_638157956167072292" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_638157956167072292" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CertificatesOfDepositMember" xlink:label="us-gaap_CertificatesOfDepositMember_638157956167072292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_638157956167072292" xlink:to="us-gaap_CertificatesOfDepositMember_638157956167072292" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_638157956167072292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167062291" xlink:to="srt_StatementGeographicalAxis_638157956167072292" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638157956167072292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis_638157956167072292" xlink:to="srt_SegmentGeographicalDomain_638157956167072292" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_BS" xlink:label="country_BS_638157956167072292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638157956167072292" xlink:to="country_BS_638157956167072292" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638157956167072292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167062291" xlink:to="us-gaap_StatementLineItems_638157956167072292" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_638157956167072292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167072292" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_638157956167072292" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638157956167072292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_638157956167072292" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638157956167072292" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashEquivalentsAtCarryingValue_638157956167072292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_638157956167072292" xlink:to="us-gaap_CashEquivalentsAtCarryingValue_638157956167072292" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashUninsuredAmount" xlink:label="us-gaap_CashUninsuredAmount_638157956167082289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_638157956167072292" xlink:to="us-gaap_CashUninsuredAmount_638157956167082289" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CashAndRestrictedCashEquivalentsHeldInForeignBank" xlink:label="cwco_CashAndRestrictedCashEquivalentsHeldInForeignBank_638157956167082289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_638157956167072292" xlink:to="cwco_CashAndRestrictedCashEquivalentsHeldInForeignBank_638157956167082289" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DepositsHeldInForeignBank" xlink:label="cwco_DepositsHeldInForeignBank_638157956167082289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_638157956167072292" xlink:to="cwco_DepositsHeldInForeignBank_638157956167082289" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails" xlink:type="extended" xlink:title="40203 - Disclosure - Accounting policies - Property, plant and equipment (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract_637050102263070664" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638157956167082289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_637050102263070664" xlink:to="us-gaap_StatementTable_638157956167082289" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638157956167102300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167082289" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638157956167102300" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638157956167102300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638157956167102300" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638157956167102300" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember_638157956167102300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638157956167102300" xlink:to="us-gaap_BuildingMember_638157956167102300" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PlantAndEquipmentMember" xlink:label="cwco_PlantAndEquipmentMember_638157956167102300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638157956167102300" xlink:to="cwco_PlantAndEquipmentMember_638157956167102300" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DistributionSystemsMember" xlink:label="cwco_DistributionSystemsMember_638157956167102300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638157956167102300" xlink:to="cwco_DistributionSystemsMember_638157956167102300" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember_638157956167102300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638157956167102300" xlink:to="us-gaap_FurnitureAndFixturesMember_638157956167102300" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember_638157956167102300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638157956167102300" xlink:to="us-gaap_VehiclesMember_638157956167102300" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember_638157956167102300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638157956167102300" xlink:to="us-gaap_LeaseholdImprovementsMember_638157956167102300" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_LabEquipmentMember" xlink:label="cwco_LabEquipmentMember_638157956167112294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638157956167102300" xlink:to="cwco_LabEquipmentMember_638157956167112294" order="7" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638157956167112294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167082289" xlink:to="srt_RangeAxis_638157956167112294" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638157956167112294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638157956167112294" xlink:to="srt_RangeMember_638157956167112294" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638157956167112294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638157956167112294" xlink:to="srt_MaximumMember_638157956167112294" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638157956167112294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638157956167112294" xlink:to="srt_MinimumMember_638157956167112294" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638157956167112294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167082289" xlink:to="us-gaap_StatementLineItems_638157956167112294" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_638157956167112294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167112294" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_638157956167112294" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives" xlink:label="us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives_638157956167112294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167112294" xlink:to="us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives_638157956167112294" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails" xlink:type="extended" xlink:title="40204 - Disclosure - Accounting policies - Goodwill and intangible assets (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract_637050102263150442" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638157956167122287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_637050102263150442" xlink:to="us-gaap_StatementTable_638157956167122287" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis_638157956167122287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167122287" xlink:to="us-gaap_BusinessAcquisitionAxis_638157956167122287" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_638157956167122287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis_638157956167122287" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_638157956167122287" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AerexIndustriesIncMember" xlink:label="cwco_AerexIndustriesIncMember_638157956167122287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_638157956167122287" xlink:to="cwco_AerexIndustriesIncMember_638157956167122287" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_FairValueDeterminingMethodAxis" xlink:label="cwco_FairValueDeterminingMethodAxis_638157956167122287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167122287" xlink:to="cwco_FairValueDeterminingMethodAxis_638157956167122287" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_FairValueDeterminingMethodDomain" xlink:label="cwco_FairValueDeterminingMethodDomain_638157956167122287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_FairValueDeterminingMethodAxis_638157956167122287" xlink:to="cwco_FairValueDeterminingMethodDomain_638157956167122287" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DiscountedCashFlowMethodMember" xlink:label="cwco_DiscountedCashFlowMethodMember_638157956167122287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_FairValueDeterminingMethodDomain_638157956167122287" xlink:to="cwco_DiscountedCashFlowMethodMember_638157956167122287" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_GuidelinePublicCompanyMethodMember" xlink:label="cwco_GuidelinePublicCompanyMethodMember_638157956167122287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_FairValueDeterminingMethodDomain_638157956167122287" xlink:to="cwco_GuidelinePublicCompanyMethodMember_638157956167122287" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638157956167122287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167122287" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638157956167122287" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638157956167122287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638157956167122287" xlink:to="us-gaap_SegmentDomain_638157956167122287" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SegmentRetailMember" xlink:label="cwco_SegmentRetailMember_638157956167122287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638157956167122287" xlink:to="cwco_SegmentRetailMember_638157956167122287" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_BulkMember" xlink:label="cwco_BulkMember_638157956167122287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638157956167122287" xlink:to="cwco_BulkMember_638157956167122287" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ServicesMember" xlink:label="cwco_ServicesMember_638157956167122287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638157956167122287" xlink:to="cwco_ServicesMember_638157956167122287" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ManufacturingUnitsMember" xlink:label="cwco_ManufacturingUnitsMember_638157956167122287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638157956167122287" xlink:to="cwco_ManufacturingUnitsMember_638157956167122287" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638157956167132299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167122287" xlink:to="us-gaap_StatementLineItems_638157956167132299" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EstimatedFairValuePercentageSegmentReportingInformation" xlink:label="cwco_EstimatedFairValuePercentageSegmentReportingInformation_638157956167132299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167132299" xlink:to="cwco_EstimatedFairValuePercentageSegmentReportingInformation_638157956167132299" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EstimatedFairValueCarryingAmountExceededPercentage" xlink:label="cwco_EstimatedFairValueCarryingAmountExceededPercentage_638157956167132299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167132299" xlink:to="cwco_EstimatedFairValueCarryingAmountExceededPercentage_638157956167132299" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638157956167132299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167132299" xlink:to="us-gaap_Goodwill_638157956167132299" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_638157956167132299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167132299" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_638157956167132299" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss_638157956167132299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167132299" xlink:to="us-gaap_GoodwillImpairmentLoss_638157956167132299" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureAccountingPoliciesInvestmentsAndOtherAssetsDetails" xlink:type="extended" xlink:title="40205 - Disclosure - Accounting policies - Investments and Other assets (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract_637522779816884379" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638157956167132299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_637522779816884379" xlink:to="us-gaap_StatementTable_638157956167132299" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638157956167142286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167132299" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638157956167142286" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638157956167142286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638157956167142286" xlink:to="us-gaap_SegmentDomain_638157956167142286" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CapitalizedEngineeringLaborAndMaterialsCostMember" xlink:label="cwco_CapitalizedEngineeringLaborAndMaterialsCostMember_638157956167142286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638157956167142286" xlink:to="cwco_CapitalizedEngineeringLaborAndMaterialsCostMember_638157956167142286" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638157956167142286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167132299" xlink:to="us-gaap_StatementLineItems_638157956167142286" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CriteriaForRecognizingInvestmentAtCost" xlink:label="cwco_CriteriaForRecognizingInvestmentAtCost_638157956167142286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167142286" xlink:to="cwco_CriteriaForRecognizingInvestmentAtCost_638157956167142286" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentAdditionalInformation" xlink:label="us-gaap_EquityMethodInvestmentAdditionalInformation_638157956167142286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167142286" xlink:to="us-gaap_EquityMethodInvestmentAdditionalInformation_638157956167142286" order="2" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedAmortizationOfOtherDeferredCosts" xlink:label="us-gaap_AccumulatedAmortizationOfOtherDeferredCosts_638157956167142286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167142286" xlink:to="us-gaap_AccumulatedAmortizationOfOtherDeferredCosts_638157956167142286" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssets" xlink:label="us-gaap_OtherAssets_638157956167142286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167142286" xlink:to="us-gaap_OtherAssets_638157956167142286" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAmortizationOfDeferredCharges" xlink:label="us-gaap_OtherAmortizationOfDeferredCharges_638157956167142286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167142286" xlink:to="us-gaap_OtherAmortizationOfDeferredCharges_638157956167142286" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="2" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AmountRequiredToReduceAmountOfWaterLostByPublicWaterDistributionSystem" xlink:label="cwco_AmountRequiredToReduceAmountOfWaterLostByPublicWaterDistributionSystem_638157956167142286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167142286" xlink:to="cwco_AmountRequiredToReduceAmountOfWaterLostByPublicWaterDistributionSystem_638157956167142286" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureAccountingPoliciesDisaggregatedRevenueDetails" xlink:type="extended" xlink:title="40206 - Disclosure - Accounting policies - Disaggregated revenue (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_344078" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638157956167152296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_344078" xlink:to="us-gaap_StatementTable_638157956167152296" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638157956167152296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167152296" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638157956167152296" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638157956167152296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638157956167152296" xlink:to="us-gaap_SegmentDomain_638157956167152296" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_RetailRevenuesMember" xlink:label="cwco_RetailRevenuesMember_638157956167152296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638157956167152296" xlink:to="cwco_RetailRevenuesMember_638157956167152296" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_BulkRevenuesMember" xlink:label="cwco_BulkRevenuesMember_638157956167152296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638157956167152296" xlink:to="cwco_BulkRevenuesMember_638157956167152296" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ServicesRevenuesMember" xlink:label="cwco_ServicesRevenuesMember_638157956167152296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638157956167152296" xlink:to="cwco_ServicesRevenuesMember_638157956167152296" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ManufacturingRevenuesMember" xlink:label="cwco_ManufacturingRevenuesMember_638157956167152296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638157956167152296" xlink:to="cwco_ManufacturingRevenuesMember_638157956167152296" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638157956167152296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167152296" xlink:to="srt_RangeAxis_638157956167152296" order="2" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638157956167152296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638157956167152296" xlink:to="srt_RangeMember_638157956167152296" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638157956167152296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638157956167152296" xlink:to="srt_MinimumMember_638157956167152296" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638157956167162280" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638157956167152296" xlink:to="srt_MaximumMember_638157956167162280" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638157956167162280" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167152296" xlink:to="us-gaap_StatementLineItems_638157956167162280" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues_638157956167162280" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167162280" xlink:to="us-gaap_Revenues_638157956167162280" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/definitionGuidance" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract_638157956167162280" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167162280" xlink:to="us-gaap_RevenueFromContractWithCustomerAbstract_638157956167162280" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NumberOfDaysAfterConsumptionBillingsAreCollected" xlink:label="cwco_NumberOfDaysAfterConsumptionBillingsAreCollected_638157956167162280" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract_638157956167162280" xlink:to="cwco_NumberOfDaysAfterConsumptionBillingsAreCollected_638157956167162280" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue" xlink:label="cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue_638157956167162280" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract_638157956167162280" xlink:to="cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue_638157956167162280" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureCashAndCashEquivalentsDetails" xlink:type="extended" xlink:title="40301 - Disclosure - Cash and cash equivalents (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="us-gaap_CashAndCashEquivalentsAbstract_637050102263948302" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTable_638157956167162280" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAbstract_637050102263948302" xlink:to="us-gaap_ScheduleOfCashAndCashEquivalentsTable_638157956167162280" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CurrencyAxis" xlink:label="srt_CurrencyAxis_638157956167162280" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfCashAndCashEquivalentsTable_638157956167162280" xlink:to="srt_CurrencyAxis_638157956167162280" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_AllCurrenciesDomain" xlink:label="currency_AllCurrenciesDomain_638157956167162280" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CurrencyAxis_638157956167162280" xlink:to="currency_AllCurrenciesDomain_638157956167162280" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_USD" xlink:label="currency_USD_638157956167162280" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="currency_AllCurrenciesDomain_638157956167162280" xlink:to="currency_USD_638157956167162280" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_KYD" xlink:label="currency_KYD_638157956167172285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="currency_AllCurrenciesDomain_638157956167162280" xlink:to="currency_KYD_638157956167172285" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_BSD" xlink:label="currency_BSD_638157956167172285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="currency_AllCurrenciesDomain_638157956167162280" xlink:to="currency_BSD_638157956167172285" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsLineItems" xlink:label="us-gaap_CashAndCashEquivalentsLineItems_638157956167172285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfCashAndCashEquivalentsTable_638157956167162280" xlink:to="us-gaap_CashAndCashEquivalentsLineItems_638157956167172285" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash_638157956167172285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsLineItems_638157956167172285" xlink:to="us-gaap_Cash_638157956167172285" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashEquivalentsAtCarryingValue_638157956167172285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsLineItems_638157956167172285" xlink:to="us-gaap_CashEquivalentsAtCarryingValue_638157956167172285" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638157956167172285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsLineItems_638157956167172285" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638157956167172285" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureAccountsReceivableNetDetails" xlink:type="extended" xlink:title="40401 - Disclosure - Accounts receivable, net (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract_637050102263968248" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AccountsReceivableTradeCurrent" xlink:label="cwco_AccountsReceivableTradeCurrent_638157956167172285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_637050102263968248" xlink:to="cwco_AccountsReceivableTradeCurrent_638157956167172285" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueFromAffiliateCurrent" xlink:label="us-gaap_DueFromAffiliateCurrent_638157956167172285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_637050102263968248" xlink:to="us-gaap_DueFromAffiliateCurrent_638157956167172285" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AccountsReceivableOtherCurrent" xlink:label="cwco_AccountsReceivableOtherCurrent_638157956167172285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_637050102263968248" xlink:to="cwco_AccountsReceivableOtherCurrent_638157956167172285" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent_638157956167172285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_637050102263968248" xlink:to="us-gaap_AccountsReceivableGrossCurrent_638157956167172285" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638157956167172285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_637050102263968248" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638157956167172285" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638157956167172285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_637050102263968248" xlink:to="us-gaap_AccountsReceivableNetCurrent_638157956167172285" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureAccountsReceivableNetAllowanceForDoubtfulAccountsDetails" xlink:type="extended" xlink:title="40402 - Disclosure - Accounts receivable, net - Allowance for doubtful accounts (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract_637050102263988195" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638157956167182307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_637050102263988195" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638157956167182307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_638157956167182307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_637050102263988195" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_638157956167182307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_638157956167182307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_637050102263988195" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_638157956167182307" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries_638157956167182307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_637050102263988195" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries_638157956167182307" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_6381579561671823071" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_637050102263988195" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_6381579561671823071" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureInventoryDetails" xlink:type="extended" xlink:title="40501 - Disclosure - Inventory (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="us-gaap_InventoryDisclosureAbstract_637050102264008143" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryCurrentTable" xlink:label="us-gaap_InventoryCurrentTable_638157956167182307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryDisclosureAbstract_637050102264008143" xlink:to="us-gaap_InventoryCurrentTable_638157956167182307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis_638157956167192292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryCurrentTable_638157956167182307" xlink:to="us-gaap_StatementClassOfStockAxis_638157956167192292" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain_638157956167192292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis_638157956167192292" xlink:to="us-gaap_ClassOfStockDomain_638157956167192292" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_WaterStockMember" xlink:label="cwco_WaterStockMember_638157956167192292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockDomain_638157956167192292" xlink:to="cwco_WaterStockMember_638157956167192292" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ConsumablesStockMember" xlink:label="cwco_ConsumablesStockMember_638157956167192292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockDomain_638157956167192292" xlink:to="cwco_ConsumablesStockMember_638157956167192292" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SparePartsStockMember" xlink:label="cwco_SparePartsStockMember_638157956167192292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockDomain_638157956167192292" xlink:to="cwco_SparePartsStockMember_638157956167192292" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryLineItems" xlink:label="us-gaap_InventoryLineItems_638157956167192292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryCurrentTable_638157956167182307" xlink:to="us-gaap_InventoryLineItems_638157956167192292" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryGross" xlink:label="us-gaap_InventoryGross_638157956167192292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryLineItems_638157956167192292" xlink:to="us-gaap_InventoryGross_638157956167192292" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet_638157956167192292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryLineItems_638157956167192292" xlink:to="us-gaap_InventoryNet_638157956167192292" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNoncurrent" xlink:label="us-gaap_InventoryNoncurrent_638157956167192292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryLineItems_638157956167192292" xlink:to="us-gaap_InventoryNoncurrent_638157956167192292" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureContractsInProgressDetails" xlink:type="extended" xlink:title="40601 - Disclosure - Contracts in progress (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureTable" xlink:label="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureTable_638157956167192292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureTable_638157956167192292" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_638157956167192292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureTable_638157956167192292" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_638157956167192292" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems" xlink:label="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems_638157956167202289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureTable_638157956167192292" xlink:to="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems_638157956167202289" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638157956167202289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems_638157956167202289" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638157956167202289" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerAmountBilled" xlink:label="cwco_ContractWithCustomerAmountBilled_638157956167202289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems_638157956167202289" xlink:to="cwco_ContractWithCustomerAmountBilled_638157956167202289" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerRetainage" xlink:label="cwco_ContractWithCustomerRetainage_638157956167202289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems_638157956167202289" xlink:to="cwco_ContractWithCustomerRetainage_638157956167202289" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ContractWithCustomerNetOverbillings" xlink:label="cwco_ContractWithCustomerNetOverbillings_638157956167202289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems_638157956167202289" xlink:to="cwco_ContractWithCustomerNetOverbillings_638157956167202289" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_638157956167202289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems_638157956167202289" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_638157956167202289" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_638157956167202289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems_638157956167202289" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_638157956167202289" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_638157956167202289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems_638157956167202289" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_638157956167202289" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_BalanceSheetLocationAbstract" xlink:label="cwco_BalanceSheetLocationAbstract_638157956167202289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems_638157956167202289" xlink:to="cwco_BalanceSheetLocationAbstract_638157956167202289" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_638157956167202289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_BalanceSheetLocationAbstract_638157956167202289" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_638157956167202289" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638157956167202289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_BalanceSheetLocationAbstract_638157956167202289" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638157956167202289" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails" xlink:type="extended" xlink:title="40701 - Disclosure - Property, plant and equipment and construction in progress (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_637050102264048037" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638157956167212295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract_637050102264048037" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638157956167212295" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638157956167212295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638157956167212295" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638157956167212295" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638157956167212295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638157956167212295" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638157956167212295" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember_638157956167212295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638157956167212295" xlink:to="us-gaap_LandMember_638157956167212295" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember_638157956167212295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638157956167212295" xlink:to="us-gaap_BuildingMember_638157956167212295" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PlantAndEquipmentMember" xlink:label="cwco_PlantAndEquipmentMember_638157956167212295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638157956167212295" xlink:to="cwco_PlantAndEquipmentMember_638157956167212295" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DistributionSystemsMember" xlink:label="cwco_DistributionSystemsMember_638157956167212295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638157956167212295" xlink:to="cwco_DistributionSystemsMember_638157956167212295" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember_638157956167212295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638157956167212295" xlink:to="us-gaap_FurnitureAndFixturesMember_638157956167212295" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember_638157956167212295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638157956167212295" xlink:to="us-gaap_VehiclesMember_638157956167212295" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember_638157956167212295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638157956167212295" xlink:to="us-gaap_LeaseholdImprovementsMember_638157956167212295" order="7" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_LabEquipmentMember" xlink:label="cwco_LabEquipmentMember_638157956167212295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638157956167212295" xlink:to="cwco_LabEquipmentMember_638157956167212295" order="8" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_638157956167212295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638157956167212295" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_638157956167212295" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_638157956167212295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638157956167212295" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_638157956167212295" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_638157956167222296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638157956167212295" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_638157956167222296" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_638157956167222296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638157956167212295" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638157956167222296" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross_638157956167222296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638157956167212295" xlink:to="us-gaap_ConstructionInProgressGross_638157956167222296" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressAdditionalInformationDetails" xlink:type="extended" xlink:title="40702 - Disclosure - Property, plant and equipment and construction in progress - Additional Information (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_637050102264077967" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CapitalCommitments" xlink:label="cwco_CapitalCommitments_638157956167222296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract_637050102264077967" xlink:to="cwco_CapitalCommitments_638157956167222296" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ConstructionInProgressPlacedInService" xlink:label="cwco_ConstructionInProgressPlacedInService_638157956167222296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract_637050102264077967" xlink:to="cwco_ConstructionInProgressPlacedInService_638157956167222296" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation_638157956167222296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract_637050102264077967" xlink:to="us-gaap_Depreciation_638157956167222296" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails" xlink:type="extended" xlink:title="40801 - Disclosure - Discontinued operations - Mexico project development- Narratives (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract" xlink:label="us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInvestmentsTable" xlink:label="us-gaap_ScheduleOfInvestmentsTable_638157956167222296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_2" xlink:to="us-gaap_ScheduleOfInvestmentsTable_638157956167222296" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis_638157956167232291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentsTable_638157956167222296" xlink:to="srt_OwnershipAxis_638157956167232291" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_638157956167232291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipAxis_638157956167232291" xlink:to="srt_OwnershipDomain_638157956167232291" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NSCAguaMember" xlink:label="cwco_NSCAguaMember_638157956167232291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipDomain_638157956167232291" xlink:to="cwco_NSCAguaMember_638157956167232291" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_TypeOfPhasesAxis" xlink:label="cwco_TypeOfPhasesAxis_638157956167232291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentsTable_638157956167222296" xlink:to="cwco_TypeOfPhasesAxis_638157956167232291" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_TypeOfPhasesDomain" xlink:label="cwco_TypeOfPhasesDomain_638157956167232291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_TypeOfPhasesAxis_638157956167232291" xlink:to="cwco_TypeOfPhasesDomain_638157956167232291" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_FirstPhaseMember" xlink:label="cwco_FirstPhaseMember_638157956167232291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_TypeOfPhasesDomain_638157956167232291" xlink:to="cwco_FirstPhaseMember_638157956167232291" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SecondPhaseMember" xlink:label="cwco_SecondPhaseMember_638157956167232291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_TypeOfPhasesDomain_638157956167232291" xlink:to="cwco_SecondPhaseMember_638157956167232291" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638157956167232291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentsTable_638157956167222296" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638157956167232291" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain_638157956167232291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638157956167232291" xlink:to="srt_EquityMethodInvesteeNameDomain_638157956167232291" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AguasDeRosaritoSapiDeCvMember" xlink:label="cwco_AguasDeRosaritoSapiDeCvMember_638157956167232291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638157956167232291" xlink:to="cwco_AguasDeRosaritoSapiDeCvMember_638157956167232291" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NSCAguaMember" xlink:label="cwco_NSCAguaMember_6381579561672322911" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638157956167232291" xlink:to="cwco_NSCAguaMember_6381579561672322911" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638157956167232291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentsTable_638157956167222296" xlink:to="srt_RangeAxis_638157956167232291" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638157956167232291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638157956167232291" xlink:to="srt_RangeMember_638157956167232291" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638157956167232291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638157956167232291" xlink:to="srt_MinimumMember_638157956167232291" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfInvestmentsLineItems_638157956167242292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentsTable_638157956167222296" xlink:to="us-gaap_ScheduleOfInvestmentsLineItems_638157956167242292" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_638157956167242292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems_638157956167242292" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_638157956167242292" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity" xlink:label="cwco_SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity_638157956167242292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems_638157956167242292" xlink:to="cwco_SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity_638157956167242292" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AreaOfLand" xlink:label="us-gaap_AreaOfLand_638157956167242292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems_638157956167242292" xlink:to="us-gaap_AreaOfLand_638157956167242292" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_638157956167242292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems_638157956167242292" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_638157956167242292" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PeriodInWhichConstructionMustBeCompleted" xlink:label="cwco_PeriodInWhichConstructionMustBeCompleted_638157956167242292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems_638157956167242292" xlink:to="cwco_PeriodInWhichConstructionMustBeCompleted_638157956167242292" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PeriodRequiredToOperateAndMaintainPlantAndAqueduct" xlink:label="cwco_PeriodRequiredToOperateAndMaintainPlantAndAqueduct_638157956167242292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems_638157956167242292" xlink:to="cwco_PeriodRequiredToOperateAndMaintainPlantAndAqueduct_638157956167242292" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="2" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PaymentForLandAndRightOfWayHeldForDevelopment" xlink:label="cwco_PaymentForLandAndRightOfWayHeldForDevelopment_638157956167242292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems_638157956167242292" xlink:to="cwco_PaymentForLandAndRightOfWayHeldForDevelopment_638157956167242292" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NumberOfDaysToSubmitListOfNonRecoverableExpenses" xlink:label="cwco_NumberOfDaysToSubmitListOfNonRecoverableExpenses_638157956167242292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems_638157956167242292" xlink:to="cwco_NumberOfDaysToSubmitListOfNonRecoverableExpenses_638157956167242292" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DiscontinuedOperationsNonRecoverableExpenses" xlink:label="cwco_DiscontinuedOperationsNonRecoverableExpenses_638157956167252288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems_638157956167242292" xlink:to="cwco_DiscontinuedOperationsNonRecoverableExpenses_638157956167252288" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyDamagesSoughtValue" xlink:label="us-gaap_LossContingencyDamagesSoughtValue_638157956167252288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems_638157956167242292" xlink:to="us-gaap_LossContingencyDamagesSoughtValue_638157956167252288" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LitigationSettlementExpense" xlink:label="us-gaap_LitigationSettlementExpense_638157956167252288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems_638157956167242292" xlink:to="us-gaap_LitigationSettlementExpense_638157956167252288" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment_638157956167252288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems_638157956167242292" xlink:to="cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment_638157956167252288" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails" xlink:type="extended" xlink:title="40802 - Disclosure - Discontinued operations - Mexico project development (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract" xlink:label="us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_638157956167252288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_1" xlink:to="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_638157956167252288" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="us-gaap_DisposalGroupClassificationAxis_638157956167252288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_638157956167252288" xlink:to="us-gaap_DisposalGroupClassificationAxis_638157956167252288" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="us-gaap_DisposalGroupClassificationDomain_638157956167252288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisposalGroupClassificationAxis_638157956167252288" xlink:to="us-gaap_DisposalGroupClassificationDomain_638157956167252288" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDiscontinuedOperationsMember" xlink:label="us-gaap_SegmentDiscontinuedOperationsMember_638157956167252288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisposalGroupClassificationDomain_638157956167252288" xlink:to="us-gaap_SegmentDiscontinuedOperationsMember_638157956167252288" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_638157956167262285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_638157956167252288" xlink:to="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_638157956167262285" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_638157956167262285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_638157956167262285" xlink:to="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_638157956167262285" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_MexicoProjectDevelopmentMember" xlink:label="cwco_MexicoProjectDevelopmentMember_638157956167262285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_638157956167262285" xlink:to="cwco_MexicoProjectDevelopmentMember_638157956167262285" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_638157956167262285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_638157956167252288" xlink:to="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_638157956167262285" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents_638157956167262285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_638157956167262285" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents_638157956167262285" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent_638157956167262285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_638157956167262285" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent_638157956167262285" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable_638157956167262285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_638157956167262285" xlink:to="cwco_DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable_638157956167262285" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent_638157956167262285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_638157956167262285" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent_638157956167262285" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay_638157956167262285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_638157956167262285" xlink:to="cwco_DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay_638157956167262285" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets_638157956167262285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_638157956167262285" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets_638157956167262285" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:label="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_638157956167262285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_638157956167262285" xlink:to="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_638157956167262285" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation_638157956167262285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_638157956167262285" xlink:to="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation_638157956167262285" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ValueAddedTaxReceivableAllowance" xlink:label="cwco_ValueAddedTaxReceivableAllowance_638157956167272281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_638157956167262285" xlink:to="cwco_ValueAddedTaxReceivableAllowance_638157956167272281" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentFinancialInformationDetails" xlink:type="extended" xlink:title="40803 - Disclosure - Discontinued operations - Mexico project development - Financial Information (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract" xlink:label="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_344334" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_638157956167272281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_344334" xlink:to="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_638157956167272281" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="us-gaap_DisposalGroupClassificationAxis_638157956167272281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_638157956167272281" xlink:to="us-gaap_DisposalGroupClassificationAxis_638157956167272281" order="1" use="optional" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="us-gaap_DisposalGroupClassificationDomain_638157956167272281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisposalGroupClassificationAxis_638157956167272281" xlink:to="us-gaap_DisposalGroupClassificationDomain_638157956167272281" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDiscontinuedOperationsMember" xlink:label="us-gaap_SegmentDiscontinuedOperationsMember_638157956167272281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisposalGroupClassificationDomain_638157956167272281" xlink:to="us-gaap_SegmentDiscontinuedOperationsMember_638157956167272281" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_638157956167272281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_638157956167272281" xlink:to="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_638157956167272281" order="2" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_638157956167272281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_638157956167272281" xlink:to="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_638157956167272281" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_MexicoProjectDevelopmentMember" xlink:label="cwco_MexicoProjectDevelopmentMember_638157956167272281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_638157956167272281" xlink:to="cwco_MexicoProjectDevelopmentMember_638157956167272281" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_638157956167272281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_638157956167272281" xlink:to="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_638157956167272281" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ProvisionForUncollectedValueAddedTaxes" xlink:label="cwco_ProvisionForUncollectedValueAddedTaxes_638157956167272281" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_638157956167272281" xlink:to="cwco_ProvisionForUncollectedValueAddedTaxes_638157956167272281" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_638157956167282289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_638157956167272281" xlink:to="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_638157956167282289" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_IncomeLossFromDiscontinuedOperations" xlink:label="cwco_IncomeLossFromDiscontinuedOperations_638157956167282289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_638157956167272281" xlink:to="cwco_IncomeLossFromDiscontinuedOperations_638157956167282289" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/netLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization_638157956167282289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_638157956167272281" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization_638157956167282289" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails" xlink:type="extended" xlink:title="40901 - Disclosure - Intangible assets - Costs and accumulated amortization (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637050102265015465" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable_638157956167282289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637050102265015465" xlink:to="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable_638157956167282289" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638157956167282289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable_638157956167282289" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638157956167282289" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638157956167282289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638157956167282289" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638157956167282289" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember_638157956167282289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638157956167282289" xlink:to="us-gaap_NoncompeteAgreementsMember_638157956167282289" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_TradeNameMember" xlink:label="cwco_TradeNameMember_638157956167282289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638157956167282289" xlink:to="cwco_TradeNameMember_638157956167282289" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ManagementContractsMember" xlink:label="cwco_ManagementContractsMember_638157956167282289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638157956167282289" xlink:to="cwco_ManagementContractsMember_638157956167282289" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassLineItems" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassLineItems_638157956167282289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable_638157956167282289" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassLineItems_638157956167282289" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_638157956167292284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassLineItems_638157956167282289" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_638157956167292284" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_638157956167292284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_638157956167292284" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_638157956167292284" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentForAmortizationAbstract" xlink:label="us-gaap_AdjustmentForAmortizationAbstract_638157956167292284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassLineItems_638157956167282289" xlink:to="us-gaap_AdjustmentForAmortizationAbstract_638157956167292284" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638157956167292284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentForAmortizationAbstract_638157956167292284" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638157956167292284" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_638157956167292284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentForAmortizationAbstract_638157956167292284" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_638157956167292284" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails" xlink:type="extended" xlink:title="40902 - Disclosure - Intangible assets - Amortization of intangible assets (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637050102265085262" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638157956167292284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637050102265085262" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638157956167292284" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638157956167292284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637050102265085262" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638157956167292284" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638157956167292284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637050102265085262" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638157956167292284" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638157956167292284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637050102265085262" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638157956167292284" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_638157956167302303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637050102265085262" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_638157956167302303" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_638157956167302303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637050102265085262" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_638157956167302303" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_638157956167302303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637050102265085262" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_638157956167302303" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureIntangibleAssetsDetails" xlink:type="extended" xlink:title="40903 - Disclosure - Intangible assets (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637050102265115197" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable_638157956167302303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637050102265115197" xlink:to="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable_638157956167302303" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_638157956167302303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable_638157956167302303" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_638157956167302303" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_638157956167302303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_638157956167302303" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_638157956167302303" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember_638157956167302303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_638157956167302303" xlink:to="us-gaap_TradeNamesMember_638157956167302303" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis_638157956167302303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable_638157956167302303" xlink:to="us-gaap_BusinessAcquisitionAxis_638157956167302303" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_638157956167302303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis_638157956167302303" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_638157956167302303" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PercWaterCorporationMember" xlink:label="cwco_PercWaterCorporationMember_638157956167302303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_638157956167302303" xlink:to="cwco_PercWaterCorporationMember_638157956167302303" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638157956167312292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable_638157956167302303" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638157956167312292" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638157956167312292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638157956167312292" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638157956167312292" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember_638157956167312292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638157956167312292" xlink:to="us-gaap_NoncompeteAgreementsMember_638157956167312292" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember_638157956167312292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638157956167312292" xlink:to="us-gaap_CustomerRelationshipsMember_638157956167312292" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638157956167312292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable_638157956167302303" xlink:to="srt_RangeAxis_638157956167312292" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638157956167312292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638157956167312292" xlink:to="srt_RangeMember_638157956167312292" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638157956167312292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638157956167312292" xlink:to="srt_MinimumMember_638157956167312292" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638157956167312292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638157956167312292" xlink:to="srt_MaximumMember_638157956167312292" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_638157956167312292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable_638157956167302303" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_638157956167312292" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_638157956167312292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638157956167312292" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_638157956167312292" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets_638157956167312292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638157956167312292" xlink:to="us-gaap_AmortizationOfIntangibleAssets_638157956167312292" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_638157956167322291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638157956167312292" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_638157956167322291" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails" xlink:type="extended" xlink:title="41001 - Disclosure - Leases - Lease assets and liabilities (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638157956167322291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_StatementTable_638157956167322291" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_638157956167322291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167322291" xlink:to="us-gaap_BalanceSheetLocationAxis_638157956167322291" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_638157956167322291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis_638157956167322291" xlink:to="us-gaap_BalanceSheetLocationDomain_638157956167322291" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_638157956167322291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638157956167322291" xlink:to="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_638157956167322291" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_638157956167322291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167322291" xlink:to="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_638157956167322291" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_638157956167322291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_638157956167322291" xlink:to="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_638157956167322291" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDiscontinuedOperationsMember" xlink:label="us-gaap_SegmentDiscontinuedOperationsMember_638157956167322291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_638157956167322291" xlink:to="us-gaap_SegmentDiscontinuedOperationsMember_638157956167322291" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638157956167322291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167322291" xlink:to="us-gaap_StatementLineItems_638157956167322291" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract_638157956167332297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167322291" xlink:to="us-gaap_AssetsAbstract_638157956167332297" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract_638157956167332297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638157956167332297" xlink:to="us-gaap_AssetsCurrentAbstract_638157956167332297" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OperatingLeaseAssetsCurrent" xlink:label="cwco_OperatingLeaseAssetsCurrent_638157956167332297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638157956167332297" xlink:to="cwco_OperatingLeaseAssetsCurrent_638157956167332297" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrent" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrent_638157956167332297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638157956167332297" xlink:to="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrent_638157956167332297" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsNoncurrentAbstract" xlink:label="us-gaap_AssetsNoncurrentAbstract_638157956167332297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638157956167332297" xlink:to="us-gaap_AssetsNoncurrentAbstract_638157956167332297" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638157956167402288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsNoncurrentAbstract_638157956167332297" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638157956167402288" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DisposalGroupIncludingDiscontinuedOperationLeaseNoncurrent" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseNoncurrent_638157956167402288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsNoncurrentAbstract_638157956167332297" xlink:to="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseNoncurrent_638157956167402288" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OperatingLeaseRightOfUseAssetNet" xlink:label="cwco_OperatingLeaseRightOfUseAssetNet_638157956167402288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638157956167332297" xlink:to="cwco_OperatingLeaseRightOfUseAssetNet_638157956167402288" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAbstract" xlink:label="us-gaap_LiabilitiesAbstract_638157956167402288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167322291" xlink:to="us-gaap_LiabilitiesAbstract_638157956167402288" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract_638157956167412297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAbstract_638157956167402288" xlink:to="us-gaap_LiabilitiesCurrentAbstract_638157956167412297" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638157956167412297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638157956167412297" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638157956167412297" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities" xlink:label="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities_638157956167412297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638157956167412297" xlink:to="cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities_638157956167412297" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesNoncurrentAbstract" xlink:label="us-gaap_LiabilitiesNoncurrentAbstract_638157956167412297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAbstract_638157956167402288" xlink:to="us-gaap_LiabilitiesNoncurrentAbstract_638157956167412297" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638157956167412297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesNoncurrentAbstract_638157956167412297" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638157956167412297" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent_638157956167412297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesNoncurrentAbstract_638157956167412297" xlink:to="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent_638157956167412297" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OperatingLeaseLiabilityIncludingDiscontinuedOperations" xlink:label="cwco_OperatingLeaseLiabilityIncludingDiscontinuedOperations_638157956167412297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAbstract_638157956167402288" xlink:to="cwco_OperatingLeaseLiabilityIncludingDiscontinuedOperations_638157956167412297" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_638157956167412297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAbstract_638157956167402288" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_638157956167412297" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_638157956167422292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAbstract_638157956167402288" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_638157956167422292" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="5" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureLeasesComponentsOfLeaseCostDetails" xlink:type="extended" xlink:title="41002 - Disclosure - Leases - Components of lease cost (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract_417404" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost_638157956167422292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_417404" xlink:to="us-gaap_OperatingLeaseCost_638157956167422292" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost_638157956167422292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_417404" xlink:to="us-gaap_ShortTermLeaseCost_638157956167422292" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OperatingLeaseCostsDiscontinuedOperations" xlink:label="cwco_OperatingLeaseCostsDiscontinuedOperations_638157956167422292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_417404" xlink:to="cwco_OperatingLeaseCostsDiscontinuedOperations_638157956167422292" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost_638157956167422292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_417404" xlink:to="us-gaap_LeaseCost_638157956167422292" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails" xlink:type="extended" xlink:title="41003 - Disclosure - Leases - Supplemental cash flow information (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments_638157956167432290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeasePayments_638157956167432290" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OperatingLeaseDiscontinuedOperationsPayments" xlink:label="cwco_OperatingLeaseDiscontinuedOperationsPayments_638157956167432290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="cwco_OperatingLeaseDiscontinuedOperationsPayments_638157956167432290" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails" xlink:type="extended" xlink:title="41004 - Disclosure - Leases - Future lease payments (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract_417429" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638157956167432290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_417429" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638157956167432290" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638157956167432290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_417429" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638157956167432290" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638157956167432290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_417429" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638157956167432290" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638157956167432290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_417429" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638157956167432290" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638157956167432290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_417429" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638157956167432290" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_638157956167432290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_417429" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_638157956167432290" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_638157956167432290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_417429" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_638157956167432290" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638157956167432290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_417429" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638157956167432290" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OperatingLeaseLiabilitiesContinuingOperations" xlink:label="cwco_OperatingLeaseLiabilitiesContinuingOperations_638157956167432290" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_417429" xlink:to="cwco_OperatingLeaseLiabilitiesContinuingOperations_638157956167432290" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638157956167442293" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_417429" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638157956167442293" order="10" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638157956167442293" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_417429" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638157956167442293" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/definitionGuidance" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureIncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails" xlink:type="extended" xlink:title="41101 - Disclosure - Income taxes - Components of income before income taxes (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_637050102265534064" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes" xlink:label="cwco_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes_638157956167442293" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637050102265534064" xlink:to="cwco_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes_638157956167442293" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_638157956167442293" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637050102265534064" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_638157956167442293" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_638157956167442293" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637050102265534064" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_638157956167442293" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638157956167442293" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637050102265534064" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638157956167442293" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_IncomeLossFromDiscontinuedOperations" xlink:label="cwco_IncomeLossFromDiscontinuedOperations_638157956167442293" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637050102265534064" xlink:to="cwco_IncomeLossFromDiscontinuedOperations_638157956167442293" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638157956167442293" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637050102265534064" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638157956167442293" order="6" use="optional" preferredLabel="http://www.xbrl.org/2009/role/netLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" xlink:type="extended" xlink:title="41102 - Disclosure - Income taxes - Provision for income taxes (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_637050102265563985" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_638157956167452299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637050102265563985" xlink:to="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_638157956167452299" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_638157956167452299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_638157956167452299" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_638157956167452299" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_638157956167452299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_638157956167452299" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_638157956167452299" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_638157956167452299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_638157956167452299" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_638157956167452299" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_638157956167452299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637050102265563985" xlink:to="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_638157956167452299" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_638157956167452299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_638157956167452299" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_638157956167452299" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_638157956167452299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_638157956167452299" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_638157956167452299" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_638157956167452299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_638157956167452299" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_638157956167452299" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638157956167452299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637050102265563985" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638157956167452299" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails" xlink:type="extended" xlink:title="41103 - Disclosure - Income taxes - Reconciliation of federal tax rate to the effective rate (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_637187369358622279" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_638157956167452299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637187369358622279" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_638157956167452299" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_638157956167452299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637187369358622279" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_638157956167452299" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638157956167462286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637187369358622279" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638157956167462286" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_638157956167462286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637187369358622279" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_638157956167462286" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EffectiveIncomeTaxRateReconciliationPermanentItems" xlink:label="cwco_EffectiveIncomeTaxRateReconciliationPermanentItems_638157956167462286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637187369358622279" xlink:to="cwco_EffectiveIncomeTaxRateReconciliationPermanentItems_638157956167462286" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EffectiveIncomeTaxRateReconciliationGoodwillImpairmentPercent" xlink:label="cwco_EffectiveIncomeTaxRateReconciliationGoodwillImpairmentPercent_638157956167462286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637187369358622279" xlink:to="cwco_EffectiveIncomeTaxRateReconciliationGoodwillImpairmentPercent_638157956167462286" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638157956167462286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637187369358622279" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638157956167462286" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_638157956167462286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637187369358622279" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_638157956167462286" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails" xlink:type="extended" xlink:title="41104 - Disclosure - Income taxes - Net long-term deferred tax liability (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_637050102265653760" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638157956167462286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637050102265653760" xlink:to="us-gaap_StatementTable_638157956167462286" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="us-gaap_DisposalGroupClassificationAxis_638157956167462286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167462286" xlink:to="us-gaap_DisposalGroupClassificationAxis_638157956167462286" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="us-gaap_DisposalGroupClassificationDomain_638157956167462286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisposalGroupClassificationAxis_638157956167462286" xlink:to="us-gaap_DisposalGroupClassificationDomain_638157956167462286" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDiscontinuedOperationsMember" xlink:label="us-gaap_SegmentDiscontinuedOperationsMember_638157956167462286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisposalGroupClassificationDomain_638157956167462286" xlink:to="us-gaap_SegmentDiscontinuedOperationsMember_638157956167462286" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638157956167462286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167462286" xlink:to="us-gaap_StatementLineItems_638157956167462286" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsNetAbstract" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract_638157956167472309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167462286" xlink:to="us-gaap_DeferredTaxAssetsNetAbstract_638157956167472309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign_638157956167472309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract_638157956167472309" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign_638157956167472309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DeferredTaxAssetsLandBasisDifference" xlink:label="cwco_DeferredTaxAssetsLandBasisDifference_638157956167472309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract_638157956167472309" xlink:to="cwco_DeferredTaxAssetsLandBasisDifference_638157956167472309" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DeferredTaxAssetsStartupCosts" xlink:label="cwco_DeferredTaxAssetsStartupCosts_638157956167472309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract_638157956167472309" xlink:to="cwco_DeferredTaxAssetsStartupCosts_638157956167472309" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_638157956167472309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract_638157956167472309" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_638157956167472309" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsCapitalLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsCapitalLossCarryforwards_638157956167472309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract_638157956167472309" xlink:to="us-gaap_DeferredTaxAssetsCapitalLossCarryforwards_638157956167472309" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_638157956167472309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract_638157956167472309" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_638157956167472309" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities" xlink:label="cwco_DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities_638157956167472309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract_638157956167472309" xlink:to="cwco_DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities_638157956167472309" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_638157956167472309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract_638157956167472309" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_638157956167472309" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet_638157956167472309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract_638157956167472309" xlink:to="us-gaap_DeferredTaxAssetsNet_638157956167472309" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract_638157956167472309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167462286" xlink:to="us-gaap_DeferredTaxLiabilitiesNetAbstract_638157956167472309" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_638157956167472309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638157956167472309" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_638157956167472309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_638157956167482295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638157956167472309" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_638157956167482295" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" xlink:label="cwco_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets_638157956167482295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638157956167472309" xlink:to="cwco_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets_638157956167482295" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_638157956167482295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638157956167472309" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_638157956167482295" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_638157956167482295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638157956167472309" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638157956167482295" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" xlink:type="extended" xlink:title="41105 - Disclosure - Income taxes - Additional Information (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_637050102265703613" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638157956167482295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637050102265703613" xlink:to="us-gaap_StatementTable_638157956167482295" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis_638157956167482295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167482295" xlink:to="us-gaap_IncomeTaxAuthorityAxis_638157956167482295" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_638157956167482295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis_638157956167482295" xlink:to="us-gaap_IncomeTaxAuthorityDomain_638157956167482295" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember_638157956167482295" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638157956167482295" xlink:to="us-gaap_DomesticCountryMember_638157956167482295" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="us-gaap_StateAndLocalJurisdictionMember_638157956167492284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638157956167482295" xlink:to="us-gaap_StateAndLocalJurisdictionMember_638157956167492284" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="us-gaap_DisposalGroupClassificationAxis_638157956167492284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167482295" xlink:to="us-gaap_DisposalGroupClassificationAxis_638157956167492284" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="us-gaap_DisposalGroupClassificationDomain_638157956167492284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisposalGroupClassificationAxis_638157956167492284" xlink:to="us-gaap_DisposalGroupClassificationDomain_638157956167492284" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDiscontinuedOperationsMember" xlink:label="us-gaap_SegmentDiscontinuedOperationsMember_638157956167492284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisposalGroupClassificationDomain_638157956167492284" xlink:to="us-gaap_SegmentDiscontinuedOperationsMember_638157956167492284" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638157956167492284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638157956167482295" xlink:to="us-gaap_StatementLineItems_638157956167492284" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards_638157956167492284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167492284" xlink:to="us-gaap_OperatingLossCarryforwards_638157956167492284" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationTaxCreditsResearch" xlink:label="us-gaap_IncomeTaxReconciliationTaxCreditsResearch_638157956167492284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638157956167492284" xlink:to="us-gaap_IncomeTaxReconciliationTaxCreditsResearch_638157956167492284" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureEarningsPerShareDetails" xlink:type="extended" xlink:title="41201 - Disclosure - Earnings per share (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_1043" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperations" xlink:label="us-gaap_IncomeLossFromContinuingOperations_638157956167492284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_1043" xlink:to="us-gaap_IncomeLossFromContinuingOperations_638157956167492284" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/definitionGuidance" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsPreferredStock" xlink:label="us-gaap_DividendsPreferredStock_638157956167492284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_1043" xlink:to="us-gaap_DividendsPreferredStock_638157956167492284" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic" xlink:label="us-gaap_NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic_638157956167492284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_1043" xlink:to="us-gaap_NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic_638157956167492284" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax" xlink:label="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax_638157956167492284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_1043" xlink:to="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax_638157956167492284" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638157956167502287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_1043" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638157956167502287" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638157956167502287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_1043" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638157956167502287" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToConversionOfPreferredStock" xlink:label="us-gaap_IncrementalCommonSharesAttributableToConversionOfPreferredStock_638157956167502287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_1043" xlink:to="us-gaap_IncrementalCommonSharesAttributableToConversionOfPreferredStock_638157956167502287" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants" xlink:label="us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants_638157956167502287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_1043" xlink:to="us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants_638157956167502287" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638157956167502287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_1043" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638157956167502287" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureDividendsDetails" xlink:type="extended" xlink:title="41301 - Disclosure - Dividends (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsAbstract" xlink:label="us-gaap_DividendsAbstract_637050102265923039" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DividendsPerShareDeclared" xlink:label="cwco_DividendsPerShareDeclared_638157956167502287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DividendsAbstract_637050102265923039" xlink:to="cwco_DividendsPerShareDeclared_638157956167502287" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureSegmentInformationDetails" xlink:type="extended" xlink:title="41401 - Disclosure - Segment information (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaap_SegmentReportingAbstract_1063" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638157956167512284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_1063" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638157956167512284" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638157956167512284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638157956167512284" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638157956167512284" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638157956167512284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638157956167512284" xlink:to="us-gaap_SegmentDomain_638157956167512284" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SegmentRetailMember" xlink:label="cwco_SegmentRetailMember_638157956167512284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638157956167512284" xlink:to="cwco_SegmentRetailMember_638157956167512284" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_BulkMember" xlink:label="cwco_BulkMember_638157956167512284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638157956167512284" xlink:to="cwco_BulkMember_638157956167512284" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ServicesMember" xlink:label="cwco_ServicesMember_638157956167512284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638157956167512284" xlink:to="cwco_ServicesMember_638157956167512284" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ManufacturingUnitsMember" xlink:label="cwco_ManufacturingUnitsMember_638157956167512284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638157956167512284" xlink:to="cwco_ManufacturingUnitsMember_638157956167512284" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_638157956167512284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638157956167512284" xlink:to="us-gaap_SegmentReportingInformationLineItems_638157956167512284" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments_638157956167512284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="us-gaap_NumberOfReportableSegments_638157956167512284" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues_638157956167512284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="us-gaap_Revenues_638157956167512284" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue_638157956167512284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="us-gaap_CostOfRevenue_638157956167512284" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638157956167522284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="us-gaap_GrossProfit_638157956167522284" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense_638157956167522284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="us-gaap_GeneralAndAdministrativeExpense_638157956167522284" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges" xlink:label="us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges_638157956167522284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges_638157956167522284" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638157956167522284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="us-gaap_OperatingIncomeLoss_638157956167522284" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense_638157956167522284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="us-gaap_NonoperatingIncomeExpense_638157956167522284" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638157956167522284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638157956167522284" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638157956167522284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638157956167522284" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_638157956167522284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_638157956167522284" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity" xlink:label="us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity_638157956167522284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity_638157956167522284" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperations" xlink:label="us-gaap_IncomeLossFromContinuingOperations_638157956167522284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="us-gaap_IncomeLossFromContinuingOperations_638157956167522284" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax" xlink:label="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax_638157956167532287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax_638157956167532287" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_638157956167532287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="us-gaap_NetIncomeLoss_638157956167532287" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638157956167532287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="us-gaap_AccountsReceivableNetCurrent_638157956167532287" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_InventoryCurrentAndNoncurrent" xlink:label="cwco_InventoryCurrentAndNoncurrent_638157956167532287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="cwco_InventoryCurrentAndNoncurrent_638157956167532287" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_638157956167532287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638157956167532287" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/definitionGuidance" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ConstructionInProgress" xlink:label="cwco_ConstructionInProgress_638157956167532287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="cwco_ConstructionInProgress_638157956167532287" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_638157956167532287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_638157956167532287" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638157956167532287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="us-gaap_Goodwill_638157956167532287" order="21" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AssetsContinuedOperation" xlink:label="cwco_AssetsContinuedOperation_638157956167532287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="cwco_AssetsContinuedOperation_638157956167532287" order="22" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:label="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_638157956167542305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_638157956167542305" order="23" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_638157956167542305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167512284" xlink:to="us-gaap_Assets_638157956167542305" order="24" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="5" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureSegmentInformationRevenuesEarnedByMajorGeographicRegionAndMajorCustomerDetails" xlink:type="extended" xlink:title="41402 - Disclosure - Segment information - Revenues earned by major geographic region and major customer (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract_637050102266072636" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638157956167542305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract_637050102266072636" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638157956167542305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_638157956167542305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638157956167542305" xlink:to="srt_StatementGeographicalAxis_638157956167542305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638157956167542305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis_638157956167542305" xlink:to="srt_SegmentGeographicalDomain_638157956167542305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_KY" xlink:label="country_KY_638157956167542305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638157956167542305" xlink:to="country_KY_638157956167542305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_BS" xlink:label="country_BS_638157956167542305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638157956167542305" xlink:to="country_BS_638157956167542305" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US_638157956167552289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638157956167542305" xlink:to="country_US_638157956167552289" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_VG" xlink:label="country_VG_638157956167552289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638157956167542305" xlink:to="country_VG_638157956167552289" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_WaterAndSewerageCorporationMember" xlink:label="cwco_WaterAndSewerageCorporationMember_638157956167552289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638157956167542305" xlink:to="cwco_WaterAndSewerageCorporationMember_638157956167552289" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OneCustomerMember" xlink:label="cwco_OneCustomerMember_638157956167552289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638157956167542305" xlink:to="cwco_OneCustomerMember_638157956167552289" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_638157956167552289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638157956167542305" xlink:to="us-gaap_SegmentReportingInformationLineItems_638157956167552289" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues_638157956167552289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167552289" xlink:to="us-gaap_Revenues_638157956167552289" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EntityWideRevenuesMajorCustomerPercentage" xlink:label="cwco_EntityWideRevenuesMajorCustomerPercentage_638157956167552289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167552289" xlink:to="cwco_EntityWideRevenuesMajorCustomerPercentage_638157956167552289" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureSegmentInformationPropertyPlantAndEquipmentNetByMajorGeographicRegionDetails" xlink:type="extended" xlink:title="41403 - Disclosure - Segment information - Property, plant and equipment, net by major geographic region (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract_637050102266132501" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638157956167552289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract_637050102266132501" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638157956167552289" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_638157956167552289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638157956167552289" xlink:to="srt_StatementGeographicalAxis_638157956167552289" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638157956167552289" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis_638157956167552289" xlink:to="srt_SegmentGeographicalDomain_638157956167552289" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_KY" xlink:label="country_KY_638157956167562288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638157956167552289" xlink:to="country_KY_638157956167562288" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_BS" xlink:label="country_BS_638157956167562288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638157956167552289" xlink:to="country_BS_638157956167562288" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US_638157956167562288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638157956167552289" xlink:to="country_US_638157956167562288" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_638157956167562288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638157956167552289" xlink:to="us-gaap_SegmentReportingInformationLineItems_638157956167562288" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_638157956167562288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167562288" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638157956167562288" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureSegmentInformationAdditionalInformationDetails" xlink:type="extended" xlink:title="41404 - Disclosure - Segment information - Additional Information (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaap_SegmentReportingAbstract_1123" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638157956167562288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_1123" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638157956167562288" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638157956167562288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638157956167562288" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638157956167562288" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638157956167562288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638157956167562288" xlink:to="us-gaap_SegmentDomain_638157956167562288" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SegmentRetailMember" xlink:label="cwco_SegmentRetailMember_638157956167562288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638157956167562288" xlink:to="cwco_SegmentRetailMember_638157956167562288" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_BulkMember" xlink:label="cwco_BulkMember_638157956167562288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638157956167562288" xlink:to="cwco_BulkMember_638157956167562288" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ServicesMember" xlink:label="cwco_ServicesMember_638157956167562288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638157956167562288" xlink:to="cwco_ServicesMember_638157956167562288" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ManufacturingUnitsMember" xlink:label="cwco_ManufacturingUnitsMember_638157956167572292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638157956167562288" xlink:to="cwco_ManufacturingUnitsMember_638157956167572292" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_638157956167572292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638157956167562288" xlink:to="us-gaap_SegmentReportingInformationLineItems_638157956167572292" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638157956167572292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638157956167572292" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638157956167572292" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails" xlink:type="extended" xlink:title="41501 - Disclosure - Cost of revenues and general and administrative expenses - Cost of revenues (Details)">
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract_637050102266212246" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable_638157956167572292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract_637050102266212246" xlink:to="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable_638157956167572292" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_638157956167572292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable_638157956167572292" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_638157956167572292" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167572292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis_638157956167572292" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167572292" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SubcontractorAndOtherProjectCostsMember" xlink:label="cwco_SubcontractorAndOtherProjectCostsMember_638157956167572292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167572292" xlink:to="cwco_SubcontractorAndOtherProjectCostsMember_638157956167572292" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EmployeeCostsMember" xlink:label="cwco_EmployeeCostsMember_638157956167572292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167572292" xlink:to="cwco_EmployeeCostsMember_638157956167572292" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_FuelOilMember" xlink:label="cwco_FuelOilMember_638157956167572292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167572292" xlink:to="cwco_FuelOilMember_638157956167572292" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricityMember" xlink:label="us-gaap_ElectricityMember_638157956167572292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167572292" xlink:to="us-gaap_ElectricityMember_638157956167572292" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DepreciationMember" xlink:label="cwco_DepreciationMember_638157956167572292" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167572292" xlink:to="cwco_DepreciationMember_638157956167572292" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MaintenanceMember" xlink:label="us-gaap_MaintenanceMember_638157956167582294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167572292" xlink:to="us-gaap_MaintenanceMember_638157956167582294" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_InsuranceMember" xlink:label="cwco_InsuranceMember_638157956167582294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167572292" xlink:to="cwco_InsuranceMember_638157956167582294" order="7" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_RoyaltiesMember" xlink:label="cwco_RoyaltiesMember_638157956167582294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167572292" xlink:to="cwco_RoyaltiesMember_638157956167582294" order="8" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CostOfPlantSalesMember" xlink:label="cwco_CostOfPlantSalesMember_638157956167582294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167572292" xlink:to="cwco_CostOfPlantSalesMember_638157956167582294" order="9" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherExpenseMember" xlink:label="us-gaap_OtherExpenseMember_638157956167582294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167572292" xlink:to="us-gaap_OtherExpenseMember_638157956167582294" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems_638157956167582294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable_638157956167572292" xlink:to="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems_638157956167582294" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue_638157956167582294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems_638157956167582294" xlink:to="us-gaap_CostOfRevenue_638157956167582294" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesGeneralAndAdministrativeExpensesDetails" xlink:type="extended" xlink:title="41502 - Disclosure - Cost of revenues and general and administrative expenses - General and administrative expenses (Details)">
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract_637050102266232201" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable_638157956167582294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract_637050102266232201" xlink:to="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable_638157956167582294" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_638157956167582294" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable_638157956167582294" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_638157956167582294" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167592288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis_638157956167582294" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167592288" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EmployeeCostsMember" xlink:label="cwco_EmployeeCostsMember_638157956167592288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167592288" xlink:to="cwco_EmployeeCostsMember_638157956167592288" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_InsuranceMember" xlink:label="cwco_InsuranceMember_638157956167592288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167592288" xlink:to="cwco_InsuranceMember_638157956167592288" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ProfessionalsFeeMember" xlink:label="cwco_ProfessionalsFeeMember_638157956167592288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167592288" xlink:to="cwco_ProfessionalsFeeMember_638157956167592288" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DirectorsFeesAndExpensesMember" xlink:label="cwco_DirectorsFeesAndExpensesMember_638157956167592288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167592288" xlink:to="cwco_DirectorsFeesAndExpensesMember_638157956167592288" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OfficeRentMember" xlink:label="cwco_OfficeRentMember_638157956167592288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167592288" xlink:to="cwco_OfficeRentMember_638157956167592288" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DepreciationMember" xlink:label="cwco_DepreciationMember_638157956167592288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167592288" xlink:to="cwco_DepreciationMember_638157956167592288" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AmortizationOfIntangiblesMember" xlink:label="cwco_AmortizationOfIntangiblesMember_638157956167592288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167592288" xlink:to="cwco_AmortizationOfIntangiblesMember_638157956167592288" order="7" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_OtherCreditDeviceMember" xlink:label="cwco_OtherCreditDeviceMember_638157956167592288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638157956167592288" xlink:to="cwco_OtherCreditDeviceMember_638157956167592288" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems" xlink:label="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems_638157956167592288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable_638157956167582294" xlink:to="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems_638157956167592288" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense_638157956167592288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems_638157956167592288" xlink:to="us-gaap_GeneralAndAdministrativeExpense_638157956167592288" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureStockBasedCompensationSignificantWeightedAverageAssumptionsDetails" xlink:type="extended" xlink:title="41601 - Disclosure - Stock-based compensation - Significant weighted average assumptions (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637050102266272102" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_638157956167602287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637050102266272102" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_638157956167602287" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_638157956167602287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637050102266272102" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_638157956167602287" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_638157956167602287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637050102266272102" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_638157956167602287" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_638157956167602287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637050102266272102" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_638157956167602287" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" xlink:type="extended" xlink:title="41602 - Disclosure - Stock-based compensation - Stock option activity (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637050102266302039" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638157956167602287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637050102266302039" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638157956167602287" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OptionIndexedToIssuersEquityTypeAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeAxis_638157956167612286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638157956167602287" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeAxis_638157956167612286" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638157956167612286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeAxis_638157956167612286" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638157956167612286" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember_638157956167612286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638157956167612286" xlink:to="us-gaap_EmployeeStockOptionMember_638157956167612286" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167612286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638157956167602287" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167612286" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638157956167612286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167612286" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638157956167612286" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_638157956167612286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167612286" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_638157956167612286" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638157956167612286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167612286" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638157956167612286" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_638157956167612286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167612286" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_638157956167612286" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_6381579561676122861" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167612286" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_6381579561676122861" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638157956167612286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167612286" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638157956167612286" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_638157956167612286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167612286" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_638157956167612286" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_638157956167612286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167612286" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_638157956167612286" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_638157956167612286" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167612286" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_638157956167612286" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638157956167622287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167612286" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638157956167622287" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_638157956167622287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167612286" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_638157956167622287" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_638157956167622287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167612286" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_638157956167622287" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails" xlink:type="extended" xlink:title="41603 - Disclosure - Stock-based compensation - Weighted average fair value of options at the date of grant and the intrinsic value of options exercised (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637050102266411739" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638157956167622287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637050102266411739" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638157956167622287" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_638157956167622287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638157956167622287" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_638157956167622287" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_638157956167622287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_638157956167622287" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_638157956167622287" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_BelowMarketPriceMember" xlink:label="cwco_BelowMarketPriceMember_638157956167622287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_638157956167622287" xlink:to="cwco_BelowMarketPriceMember_638157956167622287" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AtMarketPriceMember" xlink:label="cwco_AtMarketPriceMember_638157956167622287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_638157956167622287" xlink:to="cwco_AtMarketPriceMember_638157956167622287" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AboveMarketPriceMember" xlink:label="cwco_AboveMarketPriceMember_638157956167632284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_638157956167622287" xlink:to="cwco_AboveMarketPriceMember_638157956167632284" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis_638157956167632284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638157956167622287" xlink:to="srt_TitleOfIndividualAxis_638157956167632284" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_638157956167632284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis_638157956167632284" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_638157956167632284" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ManagementEmployeesMember" xlink:label="cwco_ManagementEmployeesMember_638157956167632284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain_638157956167632284" xlink:to="cwco_ManagementEmployeesMember_638157956167632284" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EmployeesMember" xlink:label="cwco_EmployeesMember_638157956167632284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain_638157956167632284" xlink:to="cwco_EmployeesMember_638157956167632284" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_638157956167632284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638157956167622287" xlink:to="us-gaap_StatementEquityComponentsAxis_638157956167632284" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638157956167632284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638157956167632284" xlink:to="us-gaap_EquityComponentDomain_638157956167632284" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockMember" xlink:label="us-gaap_PreferredStockMember_638157956167632284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain_638157956167632284" xlink:to="us-gaap_PreferredStockMember_638157956167632284" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember_638157956167632284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain_638157956167632284" xlink:to="us-gaap_CommonStockMember_638157956167632284" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167632284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638157956167622287" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167632284" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_638157956167632284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167632284" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_638157956167632284" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638157956167632284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167632284" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638157956167632284" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureStockBasedCompensationDetails" xlink:type="extended" xlink:title="41604 - Disclosure - Stock-based compensation (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637050102266521425" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638157956167642284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637050102266521425" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638157956167642284" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis_638157956167642284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638157956167642284" xlink:to="us-gaap_StatementClassOfStockAxis_638157956167642284" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain_638157956167642284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis_638157956167642284" xlink:to="us-gaap_ClassOfStockDomain_638157956167642284" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RedeemablePreferredStockMember" xlink:label="us-gaap_RedeemablePreferredStockMember_638157956167642284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockDomain_638157956167642284" xlink:to="us-gaap_RedeemablePreferredStockMember_638157956167642284" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OptionIndexedToIssuersEquityTypeAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeAxis_638157956167642284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638157956167642284" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeAxis_638157956167642284" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638157956167642284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeAxis_638157956167642284" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638157956167642284" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember_638157956167642284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638157956167642284" xlink:to="us-gaap_EmployeeStockOptionMember_638157956167642284" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EquityIncentivePlan2008Member" xlink:label="cwco_EquityIncentivePlan2008Member_638157956167642284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638157956167642284" xlink:to="cwco_EquityIncentivePlan2008Member_638157956167642284" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638157956167642284" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638157956167642284" xlink:to="us-gaap_AwardTypeAxis_638157956167642284" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638157956167652304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638157956167642284" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638157956167652304" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CommonStockOptionsMember" xlink:label="cwco_CommonStockOptionsMember_638157956167652304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638157956167652304" xlink:to="cwco_CommonStockOptionsMember_638157956167652304" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NonExecutiveDirectorsSharePlanMember" xlink:label="cwco_NonExecutiveDirectorsSharePlanMember_638157956167652304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638157956167652304" xlink:to="cwco_NonExecutiveDirectorsSharePlanMember_638157956167652304" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NonperformancebasedGrantsMember" xlink:label="cwco_NonperformancebasedGrantsMember_638157956167652304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638157956167652304" xlink:to="cwco_NonperformancebasedGrantsMember_638157956167652304" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PerformancebasedGrantsMember" xlink:label="cwco_PerformancebasedGrantsMember_638157956167652304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638157956167652304" xlink:to="cwco_PerformancebasedGrantsMember_638157956167652304" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167652304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638157956167642284" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167652304" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_638157956167652304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167652304" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_638157956167652304" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod" xlink:label="cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod_638157956167652304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167652304" xlink:to="cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod_638157956167652304" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_638157956167652304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167652304" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_638157956167652304" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation" xlink:label="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation_638157956167652304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167652304" xlink:to="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation_638157956167652304" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax" xlink:label="us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax_638157956167652304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167652304" xlink:to="us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax_638157956167652304" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_638157956167662285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167652304" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_638157956167662285" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_638157956167662285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167652304" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_638157956167662285" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonVestedOutstandingWeightedAverageRemainingContractualTerm" xlink:label="cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonVestedOutstandingWeightedAverageRemainingContractualTerm_638157956167662285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167652304" xlink:to="cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonVestedOutstandingWeightedAverageRemainingContractualTerm_638157956167662285" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_638157956167662285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167652304" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_638157956167662285" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_638157956167662285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167652304" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_638157956167662285" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_638157956167662285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167652304" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_638157956167662285" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue_638157956167662285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167652304" xlink:to="us-gaap_PreferredStockValue_638157956167662285" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_AdditionalConsecutiveIndividualRequisiteServicePeriod" xlink:label="cwco_AdditionalConsecutiveIndividualRequisiteServicePeriod_638157956167662285" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167652304" xlink:to="cwco_AdditionalConsecutiveIndividualRequisiteServicePeriod_638157956167662285" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_StockholdersEquityNoteConversionRatioPreferredShares" xlink:label="cwco_StockholdersEquityNoteConversionRatioPreferredShares_638157956167672288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167652304" xlink:to="cwco_StockholdersEquityNoteConversionRatioPreferredShares_638157956167672288" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_StockholdersEquityNoteConversionRatioCommonShares" xlink:label="cwco_StockholdersEquityNoteConversionRatioCommonShares_638157956167672288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167652304" xlink:to="cwco_StockholdersEquityNoteConversionRatioCommonShares_638157956167672288" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NumberOfDaysOfAverageTradingPriceOfCommonStock" xlink:label="cwco_NumberOfDaysOfAverageTradingPriceOfCommonStock_638157956167672288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167652304" xlink:to="cwco_NumberOfDaysOfAverageTradingPriceOfCommonStock_638157956167672288" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised" xlink:label="cwco_NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised_638157956167672288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167652304" xlink:to="cwco_NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised_638157956167672288" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices_638157956167672288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167652304" xlink:to="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices_638157956167672288" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_638157956167672288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167652304" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_638157956167672288" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638157956167672288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167652304" xlink:to="us-gaap_ShareBasedCompensation_638157956167672288" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_ClosingPriceOfCommonShares" xlink:label="cwco_ClosingPriceOfCommonShares_638157956167672288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638157956167652304" xlink:to="cwco_ClosingPriceOfCommonShares_638157956167672288" order="21" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureRetirementBenefitsDetails" xlink:type="extended" xlink:title="41701 - Disclosure - Retirement benefits (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_637050102266651077" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_638157956167682297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637050102266651077" xlink:to="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_638157956167682297" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_RetirementPlanAxis" xlink:label="cwco_RetirementPlanAxis_638157956167682297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_638157956167682297" xlink:to="cwco_RetirementPlanAxis_638157956167682297" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_RetirementPlanDomain" xlink:label="cwco_RetirementPlanDomain_638157956167682297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_RetirementPlanAxis_638157956167682297" xlink:to="cwco_RetirementPlanDomain_638157956167682297" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_KY" xlink:label="country_KY_638157956167682297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_RetirementPlanDomain_638157956167682297" xlink:to="country_KY_638157956167682297" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/stpr/2022/stpr-2022.xsd#stpr_FL" xlink:label="stpr_FL_638157956167682297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_RetirementPlanDomain_638157956167682297" xlink:to="stpr_FL_638157956167682297" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/stpr/2022/stpr-2022.xsd#stpr_CA" xlink:label="stpr_CA_638157956167682297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_RetirementPlanDomain_638157956167682297" xlink:to="stpr_CA_638157956167682297" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis" xlink:label="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis_638157956167682297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_638157956167682297" xlink:to="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis_638157956167682297" order="2" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchDomain" xlink:label="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchDomain_638157956167682297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis_638157956167682297" xlink:to="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchDomain_638157956167682297" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember" xlink:label="cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember_638157956167682297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchDomain_638157956167682297" xlink:to="cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember_638157956167682297" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638157956167692297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_638157956167682297" xlink:to="srt_RangeAxis_638157956167692297" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638157956167692297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638157956167692297" xlink:to="srt_RangeMember_638157956167692297" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638157956167692297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638157956167692297" xlink:to="srt_MaximumMember_638157956167692297" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems_638157956167692297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_638157956167682297" xlink:to="us-gaap_DefinedBenefitPlanDisclosureLineItems_638157956167692297" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionExpense" xlink:label="us-gaap_PensionExpense_638157956167692297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems_638157956167692297" xlink:to="us-gaap_PensionExpense_638157956167692297" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" xlink:label="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent_638157956167692297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems_638157956167692297" xlink:to="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent_638157956167692297" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount" xlink:label="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount_638157956167692297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems_638157956167692297" xlink:to="us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount_638157956167692297" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_638157956167692297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems_638157956167692297" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_638157956167692297" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_638157956167692297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems_638157956167692297" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_638157956167692297" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureFinancialInstrumentsDetails" xlink:type="extended" xlink:title="41801 - Disclosure - Financial instruments (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsAllOtherInvestmentsAbstract" xlink:label="us-gaap_InvestmentsAllOtherInvestmentsAbstract_637050102266690973" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638157956167702296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsAllOtherInvestmentsAbstract_637050102266690973" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638157956167702296" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="us-gaap_FairValueByAssetClassAxis_638157956167702296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638157956167702296" xlink:to="us-gaap_FairValueByAssetClassAxis_638157956167702296" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_638157956167702296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByAssetClassAxis_638157956167702296" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_638157956167702296" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CertificatesOfDepositMember" xlink:label="us-gaap_CertificatesOfDepositMember_638157956167702296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_638157956167702296" xlink:to="us-gaap_CertificatesOfDepositMember_638157956167702296" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_638157956167702296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638157956167702296" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis_638157956167702296" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_638157956167702296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis_638157956167702296" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_638157956167702296" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member_638157956167702296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_638157956167702296" xlink:to="us-gaap_FairValueInputsLevel2Member_638157956167702296" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member_638157956167702296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_638157956167702296" xlink:to="us-gaap_FairValueInputsLevel3Member_638157956167702296" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_638157956167702296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638157956167702296" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_638157956167702296" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract" xlink:label="us-gaap_FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract_638157956167702296" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_638157956167702296" xlink:to="us-gaap_FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract_638157956167702296" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNetAbstract" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNetAbstract_638157956167712287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract_638157956167702296" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNetAbstract_638157956167712287" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue_638157956167712287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNetAbstract_638157956167712287" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue_638157956167712287" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureFinancialInstrumentsLevel3ActivityDetails" xlink:type="extended" xlink:title="41802 - Disclosure - Financial instruments - Level 3 activity (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsAllOtherInvestmentsAbstract" xlink:label="us-gaap_InvestmentsAllOtherInvestmentsAbstract_637050102266710919" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_638157956167712287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsAllOtherInvestmentsAbstract_637050102266710919" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_638157956167712287" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs_638157956167712287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_638157956167712287" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs_638157956167712287" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales_638157956167712287" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_638157956167712287" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales_638157956167712287" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs_6381579561677122871" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_638157956167712287" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs_6381579561677122871" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureFinancialInstrumentsAdditionalInformationDetails" xlink:type="extended" xlink:title="41803 - Disclosure - Financial instruments - Additional Information (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsAllOtherInvestmentsAbstract" xlink:label="us-gaap_InvestmentsAllOtherInvestmentsAbstract_637050102266680998" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638157956167722288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsAllOtherInvestmentsAbstract_637050102266680998" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638157956167722288" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638157956167722288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638157956167722288" xlink:to="srt_RangeAxis_638157956167722288" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638157956167722288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638157956167722288" xlink:to="srt_RangeMember_638157956167722288" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638157956167722288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638157956167722288" xlink:to="srt_MinimumMember_638157956167722288" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_638157956167722288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638157956167722288" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_638157956167722288" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue" xlink:label="cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue_638157956167722288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_638157956167722288" xlink:to="cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue_638157956167722288" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_TermOfForeignExchangeRiskToDollarForCertainCurrencies" xlink:label="cwco_TermOfForeignExchangeRiskToDollarForCertainCurrencies_638157956167722288" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_638157956167722288" xlink:to="cwco_TermOfForeignExchangeRiskToDollarForCertainCurrencies_638157956167722288" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureCommitmentsAndContingenciesDetails" xlink:type="extended" xlink:title="41901 - Disclosure - Commitments and contingencies (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_140" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CommitmentsAndContingenciesTable" xlink:label="cwco_CommitmentsAndContingenciesTable_638157956167732313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_140" xlink:to="cwco_CommitmentsAndContingenciesTable_638157956167732313" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis_638157956167732313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_CommitmentsAndContingenciesTable_638157956167732313" xlink:to="us-gaap_SubsequentEventTypeAxis_638157956167732313" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain_638157956167732313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis_638157956167732313" xlink:to="us-gaap_SubsequentEventTypeDomain_638157956167732313" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember_638157956167732313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeDomain_638157956167732313" xlink:to="us-gaap_SubsequentEventMember_638157956167732313" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis_638157956167732313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_CommitmentsAndContingenciesTable_638157956167732313" xlink:to="srt_MajorCustomersAxis_638157956167732313" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_638157956167732313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis_638157956167732313" xlink:to="srt_NameOfMajorCustomerDomain_638157956167732313" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_WSCMember" xlink:label="cwco_WSCMember_638157956167732313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638157956167732313" xlink:to="cwco_WSCMember_638157956167732313" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CommitmentsAndContingenciesLineItems" xlink:label="cwco_CommitmentsAndContingenciesLineItems_638157956167732313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_CommitmentsAndContingenciesTable_638157956167732313" xlink:to="cwco_CommitmentsAndContingenciesLineItems_638157956167732313" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_EmploymentAgreementBaseAnnualSalaries" xlink:label="cwco_EmploymentAgreementBaseAnnualSalaries_638157956167732313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_CommitmentsAndContingenciesLineItems_638157956167732313" xlink:to="cwco_EmploymentAgreementBaseAnnualSalaries_638157956167732313" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CaymanWaterRetailOperationsPercentageOfRevenue" xlink:label="cwco_CaymanWaterRetailOperationsPercentageOfRevenue_638157956167732313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_CommitmentsAndContingenciesLineItems_638157956167732313" xlink:to="cwco_CaymanWaterRetailOperationsPercentageOfRevenue_638157956167732313" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CaymanWaterRetailOperationsPercentageOfGrossProfit" xlink:label="cwco_CaymanWaterRetailOperationsPercentageOfGrossProfit_638157956167732313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_CommitmentsAndContingenciesLineItems_638157956167732313" xlink:to="cwco_CaymanWaterRetailOperationsPercentageOfGrossProfit_638157956167732313" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermPurchaseCommitmentAmount" xlink:label="us-gaap_LongTermPurchaseCommitmentAmount_638157956167732313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_CommitmentsAndContingenciesLineItems_638157956167732313" xlink:to="us-gaap_LongTermPurchaseCommitmentAmount_638157956167732313" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNet" xlink:label="us-gaap_AccountsReceivableNet_638157956167732313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_CommitmentsAndContingenciesLineItems_638157956167732313" xlink:to="us-gaap_AccountsReceivableNet_638157956167732313" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureRelatedPartyTransactionsDetails" xlink:type="extended" xlink:title="42001 - Disclosure - Related party transactions (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="us-gaap_RelatedPartyTransactionsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638157956167742291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638157956167742291" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_638157956167742291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638157956167742291" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_638157956167742291" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain_638157956167742291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_638157956167742291" xlink:to="us-gaap_RelatedPartyDomain_638157956167742291" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PercWaterCorporationMember" xlink:label="cwco_PercWaterCorporationMember_638157956167742291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638157956167742291" xlink:to="cwco_PercWaterCorporationMember_638157956167742291" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems_638157956167742291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638157956167742291" xlink:to="us-gaap_RelatedPartyTransactionLineItems_638157956167742291" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_638157956167742291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638157956167742291" xlink:to="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_638157956167742291" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableRelatedPartiesCurrent" xlink:label="us-gaap_AccountsPayableRelatedPartiesCurrent_638157956167742291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638157956167742291" xlink:to="us-gaap_AccountsPayableRelatedPartiesCurrent_638157956167742291" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty" xlink:label="us-gaap_RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty_638157956167742291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638157956167742291" xlink:to="us-gaap_RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty_638157956167742291" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails" xlink:type="extended" xlink:title="42101 - Disclosure - Supplemental disclosure of cash flow information (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalCashFlowElementsAbstract" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract_637050102267528731" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SupplementalDisclosureOfCashFlowInformationTable" xlink:label="cwco_SupplementalDisclosureOfCashFlowInformationTable_638157956167752297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract_637050102267528731" xlink:to="cwco_SupplementalDisclosureOfCashFlowInformationTable_638157956167752297" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis_638157956167752297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_SupplementalDisclosureOfCashFlowInformationTable_638157956167752297" xlink:to="us-gaap_StatementClassOfStockAxis_638157956167752297" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain_638157956167752297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis_638157956167752297" xlink:to="us-gaap_ClassOfStockDomain_638157956167752297" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RedeemablePreferredStockMember" xlink:label="us-gaap_RedeemablePreferredStockMember_638157956167752297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockDomain_638157956167752297" xlink:to="us-gaap_RedeemablePreferredStockMember_638157956167752297" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember_638157956167752297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockDomain_638157956167752297" xlink:to="us-gaap_CommonStockMember_638157956167752297" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_SupplementalDisclosureOfCashFlowInformationLineItems" xlink:label="cwco_SupplementalDisclosureOfCashFlowInformationLineItems_638157956167752297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_SupplementalDisclosureOfCashFlowInformationTable_638157956167752297" xlink:to="cwco_SupplementalDisclosureOfCashFlowInformationLineItems_638157956167752297" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet_638157956167752297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_SupplementalDisclosureOfCashFlowInformationLineItems_638157956167752297" xlink:to="us-gaap_InterestPaidNet_638157956167752297" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet_638157956167752297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_SupplementalDisclosureOfCashFlowInformationLineItems_638157956167752297" xlink:to="us-gaap_IncomeTaxesPaidNet_638157956167752297" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638157956167752297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cwco_SupplementalDisclosureOfCashFlowInformationLineItems_638157956167752297" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638157956167752297" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssued1" xlink:label="us-gaap_StockIssued1_638157956167752297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638157956167752297" xlink:to="us-gaap_StockIssued1_638157956167752297" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConversionOfStockAmountConverted1" xlink:label="us-gaap_ConversionOfStockAmountConverted1_638157956167752297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638157956167752297" xlink:to="us-gaap_ConversionOfStockAmountConverted1_638157956167752297" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsPayableCurrentAndNoncurrent" xlink:label="us-gaap_DividendsPayableCurrentAndNoncurrent_638157956167752297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638157956167752297" xlink:to="us-gaap_DividendsPayableCurrentAndNoncurrent_638157956167752297" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_TransfersBetweenInventoryAndPropertyPlantAndEquipment" xlink:label="cwco_TransfersBetweenInventoryAndPropertyPlantAndEquipment_638157956167762280" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638157956167752297" xlink:to="cwco_TransfersBetweenInventoryAndPropertyPlantAndEquipment_638157956167762280" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet" xlink:label="cwco_NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet_638157956167762280" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638157956167752297" xlink:to="cwco_NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet_638157956167762280" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_638157956167762280" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638157956167752297" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_638157956167762280" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction" xlink:label="us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction_638157956167762280" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638157956167752297" xlink:to="us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction_638157956167762280" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_CommonStockIssuedDuringPeriodValueIssuedForServices" xlink:label="cwco_CommonStockIssuedDuringPeriodValueIssuedForServices_638157956167762280" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638157956167752297" xlink:to="cwco_CommonStockIssuedDuringPeriodValueIssuedForServices_638157956167762280" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConversionOfStockSharesConverted1" xlink:label="us-gaap_ConversionOfStockSharesConverted1_638157956167762280" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638157956167752297" xlink:to="us-gaap_ConversionOfStockSharesConverted1_638157956167762280" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.cwco.com/role/DisclosureSubsequentEventsDetails" xlink:type="extended" xlink:title="42301 - Disclosure - Subsequent events (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable_638157956167762280" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventTable_638157956167762280" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis_638157956167772297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTable_638157956167762280" xlink:to="us-gaap_BusinessAcquisitionAxis_638157956167772297" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_638157956167772297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis_638157956167772297" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_638157956167772297" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PercWaterCorporationMember" xlink:label="cwco_PercWaterCorporationMember_638157956167772297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_638157956167772297" xlink:to="cwco_PercWaterCorporationMember_638157956167772297" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis_638157956167772297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTable_638157956167762280" xlink:to="srt_OwnershipAxis_638157956167772297" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_638157956167772297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipAxis_638157956167772297" xlink:to="srt_OwnershipDomain_638157956167772297" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="cwco-20221231.xsd#cwco_PercWaterCorporationMember" xlink:label="cwco_PercWaterCorporationMember_6381579561677722971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipDomain_638157956167772297" xlink:to="cwco_PercWaterCorporationMember_6381579561677722971" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis_638157956167772297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTable_638157956167762280" xlink:to="us-gaap_SubsequentEventTypeAxis_638157956167772297" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain_638157956167772297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis_638157956167772297" xlink:to="us-gaap_SubsequentEventTypeDomain_638157956167772297" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember_638157956167772297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeDomain_638157956167772297" xlink:to="us-gaap_SubsequentEventMember_638157956167772297" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems_638157956167772297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTable_638157956167762280" xlink:to="us-gaap_SubsequentEventLineItems_638157956167772297" order="4" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_638157956167772297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventLineItems_638157956167772297" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_638157956167772297" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_638157956167772297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventLineItems_638157956167772297" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1_638157956167772297" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_638157956167772297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventLineItems_638157956167772297" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_638157956167772297" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent_638157956167782293" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventLineItems_638157956167772297" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent_638157956167782293" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
  </presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203050915136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Mar. 24, 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_cwco_DocumentAndEntityInformationAbstract', window );"><strong>Document and Entity Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-K<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2022<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">0-25248<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">CONSOLIDATED WATER CO.&#160;LTD.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">KY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">98-0619652<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">Regatta Office Park<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine2', window );">Entity Address, Address Line Two</a></td>
<td class="text">Windward Three, 4th Floor, West Bay Road<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine3', window );">Entity Address, Address Line Three</a></td>
<td class="text">P.O.&#160;Box 1114<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Grand Cayman<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">KY1-1102<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCountry', window );">Entity Address, Country</a></td>
<td class="text">KY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">345<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">945-4277<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">CWCO<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorName', window );">Auditor Name</a></td>
<td class="text">Marcum LLP<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">688<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">West Palm Beach, Florida<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,722,244<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">0000928340<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2022<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 209,109,778<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_DocumentAndEntityInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Document and Entity Information [Abstract]</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;">cwco_DocumentAndEntityInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<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_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_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorFirmId</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:nonemptySequenceNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorLocation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an annual report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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_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_EntityAddressAddressLine2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 2 such as Street or Suite number</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_EntityAddressAddressLine2</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_EntityAddressAddressLine3">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 3 such as an Office Park</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_EntityAddressAddressLine3</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_EntityAddressCountry">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>ISO 3166-1 alpha-2 country 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_EntityAddressCountry</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:countryCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<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_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_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityPublicFloat</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_IcfrAuditorAttestationFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203046235104">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 50,711,751<span></span>
</td>
<td class="nump">$ 40,358,059<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CertificatesOfDepositAtCarryingValue', window );">Certificate of deposit</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,500,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">27,046,182<span></span>
</td>
<td class="nump">27,349,307<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventory</a></td>
<td class="nump">5,727,842<span></span>
</td>
<td class="nump">2,504,832<span></span>
</td>
</tr>
<tr class="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">5,643,279<span></span>
</td>
<td class="nump">2,558,822<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetCurrent', window );">Contract assets</a></td>
<td class="nump">2,913,722<span></span>
</td>
<td class="nump">489,961<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue', window );">Net asset arising from put/call options</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">128,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_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent', window );">Current assets of discontinued operations</a></td>
<td class="nump">531,480<span></span>
</td>
<td class="nump">1,173,741<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">92,574,256<span></span>
</td>
<td class="nump">77,062,722<span></span>
</td>
</tr>
<tr class="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, plant and equipment, net</a></td>
<td class="nump">52,529,545<span></span>
</td>
<td class="nump">52,946,539<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_cwco_ConstructionInProgress', window );">Construction in progress</a></td>
<td class="nump">3,705,681<span></span>
</td>
<td class="nump">710,863<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNoncurrent', window );">Inventory, noncurrent</a></td>
<td class="nump">4,550,987<span></span>
</td>
<td class="nump">4,733,010<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Investment in OC-BVI</a></td>
<td class="nump">1,545,430<span></span>
</td>
<td class="nump">1,715,905<span></span>
</td>
</tr>
<tr class="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">10,425,013<span></span>
</td>
<td class="nump">10,425,013<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">2,818,888<span></span>
</td>
<td class="nump">3,401,666<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets</a></td>
<td class="nump">2,058,384<span></span>
</td>
<td class="nump">2,681,137<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">1,669,377<span></span>
</td>
<td class="nump">1,531,816<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent', window );">Long-term assets of discontinued operations</a></td>
<td class="nump">21,129,288<span></span>
</td>
<td class="nump">21,146,186<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">193,006,849<span></span>
</td>
<td class="nump">176,354,857<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent', window );">Accounts payable, accrued expenses and other current liabilities</a></td>
<td class="nump">8,438,315<span></span>
</td>
<td class="nump">2,831,925<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableRelatedPartiesCurrent', window );">Accounts payable - related parties</a></td>
<td class="nump">403,839<span></span>
</td>
<td class="nump">163,947<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedEmployeeBenefitsCurrent', window );">Accrued compensation</a></td>
<td class="nump">2,267,583<span></span>
</td>
<td class="nump">1,435,542<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsPayableCurrent', window );">Dividends payable</a></td>
<td class="nump">1,375,403<span></span>
</td>
<td class="nump">1,320,572<span></span>
</td>
</tr>
<tr class="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 maturities of operating leases</a></td>
<td class="nump">546,851<span></span>
</td>
<td class="nump">592,336<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Current portion of long-term debt</a></td>
<td class="nump">114,964<span></span>
</td>
<td class="nump">62,489<span></span>
</td>
</tr>
<tr class="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,803,921<span></span>
</td>
<td class="nump">513,878<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeCurrent', window );">Deferred revenue</a></td>
<td class="nump">315,825<span></span>
</td>
<td class="nump">583,646<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent', window );">Current liabilities of discontinued operations</a></td>
<td class="nump">389,884<span></span>
</td>
<td class="nump">182,322<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">22,656,585<span></span>
</td>
<td class="nump">7,686,657<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Long-term debt, noncurrent</a></td>
<td class="nump">216,117<span></span>
</td>
<td class="nump">152,038<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liabilities</a></td>
<td class="nump">560,306<span></span>
</td>
<td class="nump">564,526<span></span>
</td>
</tr>
<tr class="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 );">Noncurrent operating leases</a></td>
<td class="nump">1,590,542<span></span>
</td>
<td class="nump">2,137,394<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other liabilities</a></td>
<td class="nump">219,110<span></span>
</td>
<td class="nump">141,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_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent', window );">Long-term liabilities of discontinued operations</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">7,819<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">25,242,660<span></span>
</td>
<td class="nump">10,689,434<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Consolidated Water Co. Ltd. stockholders' equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Redeemable preferred stock, $0.60 par value. Authorized 200,000 shares; issued and outstanding 34,383 and 28,635 shares, respectively</a></td>
<td class="nump">20,630<span></span>
</td>
<td class="nump">17,181<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapital', window );">Additional paid-in capital</a></td>
<td class="nump">89,205,159<span></span>
</td>
<td class="nump">87,812,432<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">61,247,699<span></span>
</td>
<td class="nump">60,603,056<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 Consolidated Water Co. Ltd. stockholders' equity</a></td>
<td class="nump">159,667,213<span></span>
</td>
<td class="nump">157,578,885<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterest', window );">Non-controlling interests</a></td>
<td class="nump">8,096,976<span></span>
</td>
<td class="nump">8,086,538<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Total equity</a></td>
<td class="nump">167,764,189<span></span>
</td>
<td class="nump">165,665,423<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 equity</a></td>
<td class="nump">193,006,849<span></span>
</td>
<td class="nump">176,354,857<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=us-gaap_CommonClassAMember', window );">Common Class A [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_StockholdersEquityAbstract', window );"><strong>Consolidated Water Co. Ltd. stockholders' equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock value</a></td>
<td class="nump">9,193,725<span></span>
</td>
<td class="nump">9,146,216<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=us-gaap_CommonClassBMember', window );">Common Class B [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_StockholdersEquityAbstract', window );"><strong>Consolidated Water Co. Ltd. stockholders' equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock value</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_ConstructionInProgress">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.</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;">cwco_ConstructionInProgress</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccountsPayableAndAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 values as of the balance sheet date of obligations incurred through that date and due within one year (or the operating cycle, if longer), including liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received, taxes, interest, rent and utilities, accrued salaries and bonuses, payroll taxes and fringe benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccountsPayableRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount for accounts payable to related parties. 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39603-107864<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_AccruedEmployeeBenefitsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them. 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedEmployeeBenefitsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount classified as assets attributable to disposal group held for sale or disposed of, expected to be disposed of within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e1107-107759<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721675-107760<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=126905981&amp;loc=d3e2473-110228<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721533-107759<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CertificatesOfDepositAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 savings certificate entitling the Entity (that is, bearer) to receive interest at an established maturity date, based upon a fixed interest rate. A certificate of deposit may be issued in any denomination. Certificates of deposit are generally issued by commercial banks and, therefore, insured by the FDIC (up to the prescribed limit). Certificates of deposit generally restrict holders from withdrawing funds on demand without the incurrence of penalties. Generally, only certificates of deposit with original maturities of three months or less qualify as cash equivalents. Original maturity means original maturity to the entity holding the investment. As a related example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CertificatesOfDepositAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.(a),19)<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130533-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_DeferredIncomeCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income excluding obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 25<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=28183603&amp;loc=d3e692-112598<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 deferred tax asset, of deferred tax liability attributable to taxable differences 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount classified as assets attributable to disposal group held for sale or disposed of, expected to be disposed of after 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126905981&amp;loc=d3e2510-110228<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721533-107759<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721675-107760<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e1107-107759<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DividendsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 dividends declared but unpaid on equity securities issued by the entity and outstanding. 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_EquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=109237563&amp;loc=d3e33749-111570<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8813-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of financial instrument classified as an asset measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_InventoryNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Inventories not expected to be converted to cash, sold or exchanged within the normal operating cycle.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6904-107765<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount classified as liabilities attributable to disposal group held for sale or disposed of, expected to be disposed of 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e1107-107759<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721533-107759<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=126905981&amp;loc=d3e2473-110228<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721675-107760<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount classified as liabilities attributable to disposal group held for sale or disposed of, expected to be disposed of beyond 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e1107-107759<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721675-107760<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126905981&amp;loc=d3e2510-110228<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721533-107759<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_MinorityInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which is directly or indirectly attributable to that ownership interest in subsidiary equity which is not attributable to the parent (that is, noncontrolling interest, previously referred to as minority 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.31)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21930-107793<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21914-107793<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442411-227067<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568740-111683<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21711-107793<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL125981372-237846<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4590271-111686<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 25: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568447-111683<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_StatementClassOfStockAxis=us-gaap_CommonClassAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_CommonClassAMember</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=us-gaap_CommonClassBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_CommonClassBMember</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>17
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203050695200">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Redeemable preferred stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.60<span></span>
</td>
<td class="nump">$ 0.60<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Redeemable preferred stock, authorized</a></td>
<td class="nump">200,000<span></span>
</td>
<td class="nump">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_PreferredStockSharesIssued', window );">Redeemable preferred stock, issued</a></td>
<td class="nump">34,383<span></span>
</td>
<td class="nump">28,635<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Redeemable preferred stock, outstanding</a></td>
<td class="nump">34,383<span></span>
</td>
<td class="nump">28,635<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=us-gaap_CommonClassAMember', window );">Common Class A [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_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.60<span></span>
</td>
<td class="nump">$ 0.60<span></span>
</td>
</tr>
<tr class="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">24,655,000<span></span>
</td>
<td class="nump">24,655,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">15,322,875<span></span>
</td>
<td class="nump">15,243,693<span></span>
</td>
</tr>
<tr class="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">15,322,875<span></span>
</td>
<td class="nump">15,243,693<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=us-gaap_CommonClassBMember', window );">Common Class B [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_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.60<span></span>
</td>
<td class="nump">$ 0.60<span></span>
</td>
</tr>
<tr class="ro">
<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">145,000<span></span>
</td>
<td class="nump">145,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_CommonStockSharesIssued', window );">Common stock, issued</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_CommonClassAMember</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=us-gaap_CommonClassBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_CommonClassBMember</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>18
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203050726544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF INCOME - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>CONSOLIDATED STATEMENTS OF INCOME</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenue</a></td>
<td class="nump">$ 94,104,972<span></span>
</td>
<td class="nump">$ 66,863,502<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of revenue (including purchases from related parties of $2,694,810 in 2022 and $437,857 in 2021)</a></td>
<td class="nump">63,749,849<span></span>
</td>
<td class="nump">43,356,311<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">30,355,123<span></span>
</td>
<td class="nump">23,507,191<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative expenses (including purchases from related parties of $96,924 in 2022 and $77,190 in 2021)</a></td>
<td class="nump">21,070,234<span></span>
</td>
<td class="nump">18,350,359<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges', window );">Loss on asset dispositions and impairments, net</a></td>
<td class="num">(12,704)<span></span>
</td>
<td class="num">(3,145,836)<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">9,272,185<span></span>
</td>
<td class="nump">2,010,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_NonoperatingIncomeExpenseAbstract', window );"><strong>Other income (expense):</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_InterestIncomeOther', window );">Interest income</a></td>
<td class="nump">447,186<span></span>
</td>
<td class="nump">684,809<span></span>
</td>
</tr>
<tr class="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="num">(46,545)<span></span>
</td>
<td class="num">(10,248)<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_cwco_ProfitLossFromSubsidiaries', window );">Profit-sharing income from OC-BVI</a></td>
<td class="nump">26,325<span></span>
</td>
<td class="nump">22,275<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromEquityMethodInvestments', window );">Equity in the earnings of OC-BVI</a></td>
<td class="nump">75,900<span></span>
</td>
<td class="nump">55,984<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfDerivatives', window );">Net gain (loss) on put/call options</a></td>
<td class="num">(128,000)<span></span>
</td>
<td class="nump">818,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_OtherNonoperatingIncomeExpense', window );">Other</a></td>
<td class="nump">89,944<span></span>
</td>
<td class="nump">52,775<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_NonoperatingIncomeExpense', window );">Other income, net</a></td>
<td class="nump">464,810<span></span>
</td>
<td class="nump">1,623,595<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">9,736,995<span></span>
</td>
<td class="nump">3,634,591<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision (benefit) for income taxes</a></td>
<td class="nump">396,739<span></span>
</td>
<td class="num">(447,982)<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_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest', window );">Net income from continuing operations</a></td>
<td class="nump">9,340,256<span></span>
</td>
<td class="nump">4,082,573<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity', window );">Income from continuing operations attributable to non-controlling interests</a></td>
<td class="nump">1,112,913<span></span>
</td>
<td class="nump">632,915<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_IncomeLossFromContinuingOperations', window );">Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders</a></td>
<td class="nump">8,227,343<span></span>
</td>
<td class="nump">3,449,658<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_IncomeLossFromDiscontinuedOperationsNetOfTax', window );">Total loss from discontinued operations</a></td>
<td class="num">(2,371,049)<span></span>
</td>
<td class="num">(2,574,079)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income attributable to Consolidated Water Co. Ltd. stockholders</a></td>
<td class="nump">$ 5,856,294<span></span>
</td>
<td class="nump">$ 875,579<span></span>
</td>
</tr>
<tr class="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>Basic earnings (loss) per common share attributable to Consolidated Water Co. Ltd. common stockholders</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_IncomeLossFromContinuingOperationsPerBasicShare', window );">Continuing operations</a></td>
<td class="nump">$ 0.54<span></span>
</td>
<td class="nump">$ 0.23<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare', window );">Discontinued operations</a></td>
<td class="num">(0.16)<span></span>
</td>
<td class="num">(0.17)<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_EarningsPerShareBasic', window );">Basic earnings per share</a></td>
<td class="nump">0.38<span></span>
</td>
<td class="nump">0.06<span></span>
</td>
</tr>
<tr class="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>Diluted earnings (loss) per common share attributable to Consolidated Water Co. Ltd. common stockholders</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_IncomeLossFromContinuingOperationsPerDilutedShare', window );">Continuing operations</a></td>
<td class="nump">0.54<span></span>
</td>
<td class="nump">0.23<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare', window );">Discontinued operations</a></td>
<td class="num">(0.16)<span></span>
</td>
<td class="num">(0.17)<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_EarningsPerShareDiluted', window );">Diluted earnings per share</a></td>
<td class="nump">0.38<span></span>
</td>
<td class="nump">0.06<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockDividendsPerShareDeclared', window );">Dividends declared per common and redeemable preferred shares</a></td>
<td class="nump">$ 0.34<span></span>
</td>
<td class="nump">$ 0.34<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted average number of common shares used in the determination of:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic earnings per share</a></td>
<td class="nump">15,290,509<span></span>
</td>
<td class="nump">15,213,816<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted earnings per share</a></td>
<td class="nump">15,401,653<span></span>
</td>
<td class="nump">15,310,145<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_ProfitLossFromSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 item represents the entity's share of profit or (loss) from its unconsolidated equity method investee.</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;">cwco_ProfitLossFromSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CommonStockDividendsPerShareDeclared">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate dividends declared during the period for each share of common stock outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsPerShareDeclared</td>
</tr>
<tr>
<td style="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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per basic share amount, after tax, of income (loss) from the day-to-day business activities of the discontinued operation.</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_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare</td>
</tr>
<tr>
<td style="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_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per diluted share amount, after tax, of income (loss) from the day-to-day business activities of the discontinued operation.</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_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare</td>
</tr>
<tr>
<td style="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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_GainLossOnSaleOfDerivatives">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The difference between the book value and the sale price of options, swaps, futures, forward contracts, and other derivative instruments. This element refers to the gain (loss) included in earnings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.13(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfDerivatives</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GainLossOnSalesOfAssetsAndAssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) from the difference between the sale price or salvage price and the book value of an asset that was sold or retired, and gain (loss) from the write down of assets from their carrying value to fair value.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncomeLossFromContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of income (loss) from continuing operations 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4613673-111683<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.13)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of income (loss) from continuing operations attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568447-111683<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941158&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of income (loss) from continuing operations including portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeLossFromContinuingOperationsPerBasicShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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) from continuing operations 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-03(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868656-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsPerBasicShare</td>
</tr>
<tr>
<td style="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_IncomeLossFromContinuingOperationsPerDilutedShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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) derived from continuing operations during 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-03(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868656-224227<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare</td>
</tr>
<tr>
<td style="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_IncomeLossFromDiscontinuedOperationsNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of income (loss) from a discontinued operation including the portion attributable to the noncontrolling interest. Includes, but is not limited to, the income (loss) from operations during the phase-out period, gain (loss) on disposal, gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and adjustments to a prior period gain (loss) on disposal.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3B<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721525-107759<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721675-107760<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e957-107759<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=d3e1361-107760<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3A<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721523-107759<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e1012-107759<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=109227538&amp;loc=d3e44648-109337<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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) for proportionate share of equity method investee's income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(f))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=109237563&amp;loc=d3e33749-111570<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_InterestIncomeOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of interest income earned from interest bearing assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_NonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203054839952">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF INCOME (Parenthetical) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of revenue.</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_RelatedPartyTransactionPurchasesFromRelatedParty', window );">Purchases from related parties</a></td>
<td class="nump">$ 2,694,810<span></span>
</td>
<td class="nump">$ 437,857<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember', window );">General and administrative expense.</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_RelatedPartyTransactionPurchasesFromRelatedParty', window );">Purchases from related parties</a></td>
<td class="nump">$ 96,924<span></span>
</td>
<td class="nump">$ 77,190<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_RelatedPartyTransactionPurchasesFromRelatedParty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Purchases during the period (excluding transactions that are eliminated in consolidated or combined financial statements) with related party.</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_RelatedPartyTransactionPurchasesFromRelatedParty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203049069056">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)<br></strong></div></th>
<th class="th">
<div>Redeemable preferred stock [Member] </div>
<div>Preferred stock [Member]</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>Non controlling interests [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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2020</a></td>
<td class="nump">$ 18,641<span></span>
</td>
<td class="nump">$ 9,086,210<span></span>
</td>
<td class="nump">$ 86,893,486<span></span>
</td>
<td class="nump">$ 64,910,709<span></span>
</td>
<td class="nump">$ 8,103,503<span></span>
</td>
<td class="nump">$ 169,012,549<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_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2020</a></td>
<td class="nump">31,068<span></span>
</td>
<td class="nump">15,143,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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Issuance of share capital</a></td>
<td class="nump">$ 5,179<span></span>
</td>
<td class="nump">$ 53,093<span></span>
</td>
<td class="num">(58,272)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Issuance of share capital (in shares)</a></td>
<td class="nump">8,632<span></span>
</td>
<td class="nump">88,488<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities', window );">Conversion of preferred stock</a></td>
<td class="num">$ (6,913)<span></span>
</td>
<td class="nump">$ 6,913<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities', window );">Conversion of preferred stock (in shares)</a></td>
<td class="num">(11,522)<span></span>
</td>
<td class="nump">11,522<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_StockRedeemedOrCalledDuringPeriodValue', window );">Buyback of preferred stock</a></td>
<td class="num">$ (989)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(15,810)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(16,799)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRedeemedOrCalledDuringPeriodShares', window );">Buyback of preferred stock (in shares)</a></td>
<td class="num">(1,649)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">875,579<span></span>
</td>
<td class="nump">632,915<span></span>
</td>
<td class="nump">1,508,494<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Exercise of options</a></td>
<td class="nump">$ 1,263<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">15,796<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">17,059<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of options (in shares)</a></td>
<td class="nump">2,106<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsCash', window );">Dividends declared</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(5,183,232)<span></span>
</td>
<td class="num">(649,880)<span></span>
</td>
<td class="num">(5,833,112)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">977,232<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">977,232<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2021</a></td>
<td class="nump">$ 17,181<span></span>
</td>
<td class="nump">$ 9,146,216<span></span>
</td>
<td class="nump">87,812,432<span></span>
</td>
<td class="nump">60,603,056<span></span>
</td>
<td class="nump">8,086,538<span></span>
</td>
<td class="nump">165,665,423<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_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2021</a></td>
<td class="nump">28,635<span></span>
</td>
<td class="nump">15,243,693<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_StockIssuedDuringPeriodValueNewIssues', window );">Issuance of share capital</a></td>
<td class="nump">$ 5,577<span></span>
</td>
<td class="nump">$ 43,558<span></span>
</td>
<td class="num">(49,135)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Issuance of share capital (in shares)</a></td>
<td class="nump">9,295<span></span>
</td>
<td class="nump">72,597<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities', window );">Conversion of preferred stock</a></td>
<td class="num">$ (3,951)<span></span>
</td>
<td class="nump">$ 3,951<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities', window );">Conversion of preferred stock (in shares)</a></td>
<td class="num">(6,585)<span></span>
</td>
<td class="nump">6,585<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_StockRedeemedOrCalledDuringPeriodValue', window );">Buyback of preferred stock</a></td>
<td class="num">$ (15)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(211)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(226)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRedeemedOrCalledDuringPeriodShares', window );">Buyback of preferred stock (in shares)</a></td>
<td class="num">(26)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">5,856,294<span></span>
</td>
<td class="nump">1,112,913<span></span>
</td>
<td class="nump">6,969,207<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Exercise of options</a></td>
<td class="nump">$ 1,838<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">24,901<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 26,739<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of options (in shares)</a></td>
<td class="nump">3,064<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,064<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsCash', window );">Dividends declared</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(5,211,651)<span></span>
</td>
<td class="num">(1,102,475)<span></span>
</td>
<td class="num">$ (6,314,126)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,417,172<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,417,172<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2022</a></td>
<td class="nump">$ 20,630<span></span>
</td>
<td class="nump">$ 9,193,725<span></span>
</td>
<td class="nump">$ 89,205,159<span></span>
</td>
<td class="nump">$ 61,247,699<span></span>
</td>
<td class="nump">$ 8,096,976<span></span>
</td>
<td class="nump">$ 167,764,189<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_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2022</a></td>
<td class="nump">34,383<span></span>
</td>
<td class="nump">15,322,875<span></span>
</td>
<td class="text">&#160;<span></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_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126964447&amp;loc=d3e11149-113907<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=126964447&amp;loc=d3e11178-113907<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126961718&amp;loc=d3e4534-113899<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of paid and unpaid cash dividends declared for classes of stock, for example, but not limited to, common and preferred.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 405<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6957935&amp;loc=d3e64057-112817<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</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_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during the period as a result of the conversion of convertible securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-30)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21475-112644<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 gross value of stock issued during the period upon the conversion of convertible securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_StockIssuedDuringPeriodValueNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRedeemedOrCalledDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 stock bought back by the entity at the exercise price or redemption price.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRedeemedOrCalledDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-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_StockRedeemedOrCalledDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock bought back by the entity at the exercise price or redemption price.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRedeemedOrCalledDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21930-107793<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21914-107793<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442411-227067<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568740-111683<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21711-107793<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL125981372-237846<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4590271-111686<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 25: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568447-111683<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>21
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203050010352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income attributable to Consolidated Water Co. Ltd. stockholders</a></td>
<td class="nump">$ 5,856,294<span></span>
</td>
<td class="nump">$ 875,579<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest', window );">Income from continuing operations attributable to non-controlling interests</a></td>
<td class="nump">1,112,913<span></span>
</td>
<td class="nump">632,915<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">6,969,207<span></span>
</td>
<td class="nump">1,508,494<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment', window );">Impairment loss for Mexico assets - discontinued operations</a></td>
<td class="nump">377,326<span></span>
</td>
<td class="nump">963,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_DepreciationAndAmortizationDiscontinuedOperations', window );">Depreciation and amortization - discontinued operations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,545<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses', window );">Foreign currency transaction adjustment - discontinued operations</a></td>
<td class="num">(102,507)<span></span>
</td>
<td class="nump">53,039<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisposalGroupNotDiscontinuedOperationGainLossOnDisposal', window );">Loss from discontinued operations</a></td>
<td class="nump">2,096,230<span></span>
</td>
<td class="nump">1,552,955<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">6,187,308<span></span>
</td>
<td class="nump">6,921,233<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income tax benefit</a></td>
<td class="num">(4,220)<span></span>
</td>
<td class="num">(649,531)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfDerivatives', window );">Loss (gain) on net put/call option</a></td>
<td class="nump">128,000<span></span>
</td>
<td class="num">(818,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_ShareBasedCompensation', window );">Compensation expense relating to stock and stock option grants</a></td>
<td class="nump">1,417,172<span></span>
</td>
<td class="nump">977,232<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnDispositionOfAssets1', window );">Loss on asset dispositions and impairments, net</a></td>
<td class="nump">12,704<span></span>
</td>
<td class="nump">245,836<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_cwco_IncomeLossFromEquityMethodInvestmentsAndSubsidiaries', window );">Profit-sharing and equity in earnings of OC-BVI</a></td>
<td class="num">(102,225)<span></span>
</td>
<td class="num">(78,259)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentDividendsOrDistributions', window );">Distribution of earnings from OC-BVI</a></td>
<td class="nump">272,700<span></span>
</td>
<td class="nump">454,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_GoodwillImpairmentLoss', window );">Impairment of goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,900,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_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Change in:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset', window );">Accounts receivable and contract assets</a></td>
<td class="num">(2,120,636)<span></span>
</td>
<td class="num">(5,878,771)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventory</a></td>
<td class="num">(3,387,011)<span></span>
</td>
<td class="nump">293,254<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other assets</a></td>
<td class="num">(3,365,747)<span></span>
</td>
<td class="num">(266,170)<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_cwco_IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities', window );">Accounts payable (including related parties), accrued expenses and other current liabilities</a></td>
<td class="nump">6,756,433<span></span>
</td>
<td class="num">(164,606)<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_cwco_IncreaseDecreaseInContractLiability', window );">Contract liabilities</a></td>
<td class="nump">8,290,043<span></span>
</td>
<td class="nump">52,008<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingLiabilities', window );">Operating lease liabilities</a></td>
<td class="num">(5,208)<span></span>
</td>
<td class="nump">48,593<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredRevenue', window );">Deferred revenue</a></td>
<td class="num">(267,821)<span></span>
</td>
<td class="nump">467,710<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_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations', window );">Net cash provided by operating activities - continuing operations</a></td>
<td class="nump">23,151,748<span></span>
</td>
<td class="nump">8,587,602<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations', window );">Net cash used in operating activities - discontinued operations</a></td>
<td class="num">(1,819,943)<span></span>
</td>
<td class="num">(1,621,292)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">21,331,805<span></span>
</td>
<td class="nump">6,966,310<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_PaymentsToAcquireCertificatesOfDeposit', window );">Purchase of certificate of deposit</a></td>
<td class="num">(2,518,493)<span></span>
</td>
<td class="num">(2,500,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_ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities', window );">Maturity of certificate(s) of deposit</a></td>
<td class="nump">5,018,493<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Additions to property, plant and equipment and construction in progress</a></td>
<td class="num">(7,542,761)<span></span>
</td>
<td class="num">(1,490,012)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Proceeds from asset dispositions</a></td>
<td class="nump">61,725<span></span>
</td>
<td class="nump">45,560<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">(4,981,036)<span></span>
</td>
<td class="num">(3,944,452)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDividendsCommonStock', window );">Dividends paid to common shareholders</a></td>
<td class="num">(5,145,742)<span></span>
</td>
<td class="num">(5,151,667)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDividendsPreferredStockAndPreferenceStock', window );">Dividends paid to preferred shareholders</a></td>
<td class="num">(11,078)<span></span>
</td>
<td class="num">(649,880)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToMinorityShareholders', window );">Dividends paid to non-controlling interests</a></td>
<td class="num">(1,102,475)<span></span>
</td>
<td class="num">(11,015)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromRepurchaseOfRedeemablePreferredStock', window );">Buyback of redeemable preferred stock</a></td>
<td class="num">(226)<span></span>
</td>
<td class="num">(16,799)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds received from exercise of stock options</a></td>
<td class="nump">26,739<span></span>
</td>
<td class="nump">17,059<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfLongTermDebt', window );">Principal repayments on long-term debt</a></td>
<td class="num">(72,091)<span></span>
</td>
<td class="num">(49,729)<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">(6,304,873)<span></span>
</td>
<td class="num">(5,862,031)<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 increase (decrease) in cash and cash equivalents</a></td>
<td class="nump">10,045,896<span></span>
</td>
<td class="num">(2,840,173)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents at beginning of period</a></td>
<td class="nump">40,358,059<span></span>
</td>
<td class="nump">43,794,150<span></span>
</td>
</tr>
<tr class="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 and cash equivalents at beginning of period - discontinued operations</a></td>
<td class="nump">750,048<span></span>
</td>
<td class="nump">154,130<span></span>
</td>
</tr>
<tr class="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 );">Less: cash and cash equivalents at end of period - discontinued operations</a></td>
<td class="num">(442,252)<span></span>
</td>
<td class="num">(750,048)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents at end of period</a></td>
<td class="nump">50,711,751<span></span>
</td>
<td class="nump">40,358,059<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=us-gaap_RedeemablePreferredStockMember', window );">Redeemable preferred stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract', window );"><strong>Non-cash transactions:</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_StockIssued1', window );">Stock Issued</a></td>
<td class="nump">133,197<span></span>
</td>
<td class="nump">102,203<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConversionOfStockAmountConverted1', window );">Conversion (on a one-to-one basis) of 6,585 and 11,522, respectively, shares of redeemable preferred stock to common stock</a></td>
<td class="nump">3,951<span></span>
</td>
<td class="nump">6,913<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=us-gaap_CommonStockMember', window );">Common stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract', window );"><strong>Non-cash transactions:</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_StockIssued1', window );">Stock Issued</a></td>
<td class="nump">$ 521,016<span></span>
</td>
<td class="nump">$ 745,468<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 impairment attributable to disposal group, including, but not limited to, discontinued operation.</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;">cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_IncomeLossFromEquityMethodInvestmentsAndSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 items represents the entity's equity in earnings and profit sharing rights earned for the period from its unconsolidated equity method investee.</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;">cwco_IncomeLossFromEquityMethodInvestmentsAndSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 in the aggregate amount of expenses incurred but not yet paid. And in current liabilities classified as other</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cwco_IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cwco_IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_IncreaseDecreaseInContractLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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  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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cwco_IncreaseDecreaseInContractLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_PaymentsToAcquireCertificatesOfDeposit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 from purchase of certificates of deposit.</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;">cwco_PaymentsToAcquireCertificatesOfDeposit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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) of operating activities of 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ConversionOfStockAmountConverted1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 value of the stock converted in a noncash (or part noncash) transaction. Noncash is defined as transactions during a period that do not result in cash receipts or cash payments in the period. "Part noncash" refers to that portion of the transaction not resulting in cash receipts or cash payments in 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4313-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4332-108586<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConversionOfStockAmountConverted1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationAndAmortizationDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 deprecation and amortization expense attributable to property, plant and equipment and intangible assets of discontinued operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (c)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationAndAmortizationDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 foreign currency translation gain (loss) in the disposal group, including discontinued operation, recognized in the statement of income as a result of the sale or complete or substantially complete liquidation of an investment in a foreign entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DisposalGroupNotDiscontinuedOperationGainLossOnDisposal">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of gain (loss) recognized on the sale or disposal of a disposal group. Excludes discontinued operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126905981&amp;loc=d3e2443-110228<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupNotDiscontinuedOperationGainLossOnDisposal</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_EquityMethodInvestmentDividendsOrDistributions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 distribution received from equity method investee for return on investment, classified as operating activities. Excludes distribution for return of investment, classified as investing 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 21D<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=SL94080555-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentDividendsOrDistributions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_GainLossOnDispositionOfAssets1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnDispositionOfAssets1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GainLossOnSaleOfDerivatives">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The difference between the book value and the sale price of options, swaps, futures, forward contracts, and other derivative instruments. This element refers to the gain (loss) included in earnings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.13(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfDerivatives</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GoodwillImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 from the write-down of an asset representing the 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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13854-109267<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13777-109266<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities that result from activities that generate operating income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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, excluding 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_NetIncomeLossAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 Net 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_NoncashInvestingAndFinancingItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NoncashInvestingAndFinancingItemsAbstract</td>
</tr>
<tr>
<td style="padding-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_PaymentsOfDividendsCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDividendsCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDividendsPreferredStockAndPreferenceStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow in the form of ordinary dividends to preferred shareholders of the parent entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDividendsPreferredStockAndPreferenceStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PaymentsToMinorityShareholders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to a noncontrolling interest. Includes, but not limited to, reduction of noncontrolling interest ownership. Excludes dividends paid to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToMinorityShareholders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromRepurchaseOfRedeemablePreferredStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash inflows (outflows) from issuing and redeeming redeemable preferred stock; includes convertible and nonconvertible redeemable preferred stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromRepurchaseOfRedeemablePreferredStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from the sale or maturity of long-term held-to-maturity securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26853-111562<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssued1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fair value of stock issued in noncash 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4304-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4332-108586<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4313-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssued1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_StatementClassOfStockAxis=us-gaap_RedeemablePreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_RedeemablePreferredStockMember</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=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203046160288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Principal activity<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Principal activity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NatureOfOperations', window );">Principal activity</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">1. Principal activity</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Consolidated Water Co. Ltd. and its subsidiaries (collectively, the &#8220;Company&#8221;) supply potable water, treat wastewater and water for reuse, and provide water-related products and services to customers in the Cayman Islands, The Bahamas, the United States and the British Virgin Islands. The Company produces potable water from seawater using reverse osmosis technology and sells this water to a variety of customers, including public utilities, commercial and tourist properties, residential properties and government facilities. The Company designs, builds and sells water production and water treatment infrastructure and manages water infrastructure for commercial and governmental customers. The Company also manufactures a wide range of specialized and custom water industry related products and provides design, engineering, operating and other services applicable to commercial, municipal and industrial water production, supply and treatment.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NatureOfOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI https://asc.fasb.org/topic&amp;trid=2134479<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NatureOfOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203055100304">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounting policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_AccountingPoliciesAbstract', window );"><strong>Accounting policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Accounting policies</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">2. Accounting policies</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Basis of preparation:</b> The consolidated financial statements presented are prepared in accordance with the accounting principles generally accepted in the United States of America.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Use of estimates:</b> The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenue and expenses during the reporting period. Significant items subject to estimates and assumptions include the carrying value of property, plant and equipment, intangible assets, goodwill and revenue recognition on construction and manufacturing contracts. Actual results could differ significantly from such estimates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Basis of consolidation:</b> The accompanying consolidated financial statements include the accounts of the Company&#8217;s (i)&#160;wholly-owned subsidiaries, Aerex Industries,&#160;Inc. (&#8220;Aerex&#8221;), Aquilex,&#160;Inc. (&#8220;Aquilex&#8221;), Cayman Water Company Limited (&#8220;Cayman Water&#8221;), Ocean Conversion (Cayman) Limited (&#8220;OC-Cayman&#8221;), DesalCo Limited (&#8220;DesalCo&#8221;), Consolidated Water Cooperatief, U.A. (&#8220;CW-Cooperatief&#8221;), Consolidated Water U.S. Holdings,&#160;Inc. (&#8220;CW-Holdings&#8221;); and (ii)&#160;majority-owned subsidiaries Consolidated Water (Bahamas)&#160;Ltd. (&#8220;CW-Bahamas&#8221;), N.S.C. Agua, S.A. de C.V. (&#8220;NSC&#8221;), Aguas de Rosarito S.A.P.I. de C.V. (&#8220;AdR&#8221;), and PERC Water Corporation ("PERC"). The Company&#8217;s investment in its affiliate Ocean Conversion (BVI)&#160;Ltd. (&#8220;OC-BVI&#8221;) is accounted for using the equity method of accounting. All significant intercompany balances and transactions have been eliminated in consolidation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">On January 4, 2023, as a result of CW-Holdings' exercise of a call option in October 2022, CW-Holdings purchased the remaining&#160;</span><span style="background:#ffffff;">39%</span><span style="background:#ffffff;"> ownership interest in PERC for </span><span style="background:#ffffff;">$2.4</span><span style="background:#ffffff;"> million&#160;in cash and </span><span style="background:#ffffff;">368,383</span><span style="background:#ffffff;"> shares of the Company&#8217;s common stock. After giving effect to this purchase, CW-Holdings owns&#160;</span><span style="background:#ffffff;">100%</span><span style="background:#ffffff;"> of the outstanding capital stock of PERC.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Foreign currency:</b>&#160;The Company&#8217;s reporting currency is the United States dollar (&#8220;US$&#8221;). The functional currency of the Company and its foreign operating subsidiaries (other than NSC, AdR and CW-Cooperatief) is the currency for each respective country. The functional currency for NSC, AdR and CW-Cooperatief is the US$. NSC and AdR conduct business in US$ and Mexican pesos and CW-Cooperatief conducts business in US$ and euros. The exchange rates for the Cayman Islands dollar and the Bahamian dollar are fixed to the US$. The exchange rates for conversion of Mexican pesos and euros into US$ vary based upon market conditions. Net foreign currency gains arising from transactions and re-measurements were $41,750 and $32,594 for the&#160;years ended December&#160;31, 2022 and 2021, respectively, and are included in &#8220;Other income (expense)&#160;- Other&#8221; in the accompanying consolidated statements of income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Cash and cash equivalents:</b> Cash and cash equivalents consist of demand deposits at banks and certificates of deposit at banks with an original maturity of three&#160;months or less. Cash and cash equivalents as of December&#160;31, 2022 and 2021 </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">include $5.0 million and $7.4 million, respectively, of certificates of deposit with an original maturity of three&#160;months or less.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of December&#160;31, 2022, the Company had deposits in U.S. banks in excess of federally insured limits of approximately $12.5 million. As of December&#160;31, 2022, the Company held cash in foreign bank accounts of approximately $36.6 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Certain transfers from the Company&#8217;s Bahamas bank accounts to Company bank accounts in other countries require the approval of the Central Bank of The Bahamas. The equivalent United States dollar cash balances for deposits held in The Bahamas as of December&#160;31, 2022 and 2021 were approximately $5.7 million and $3.9 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Certificate of deposit:</b> As of December 31, 2022 and 2021, the Company held a certificate of deposit in The Bahamas with an original maturity of six months in the amount of zero and $2.5 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Accounts receivable and allowance for doubtful accounts:</b> Accounts receivable are recorded at invoiced amounts based on meter readings, contractual amounts, fixed fees plus reimbursables or time and materials per contractual agreements. <span style="background:#ffffff;">Trade accounts receivable also represent our unconditional right, subject only to the passage of time, to receive consideration arising from our performance under contracts with customers. Trade accounts receivable include amounts billed and billable on construction contracts, service and maintenance contracts and contracts for the sale of goods. Billed contract receivables have been invoiced to customers based on contracted amounts. </span>The allowance for doubtful accounts is the Company&#8217;s best estimate of the amount of probable credit losses in the Company&#8217;s existing accounts receivable balance. The Company determines the allowance for doubtful accounts based on historical write-off experience and&#160;monthly review of delinquent accounts. Past due balances are reviewed individually for collectability. Account balances are charged off against the allowance for doubtful accounts after all means of collection have been exhausted and the potential for recovery is considered by management to be remote.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Inventory:</b> Inventory primarily consists of raw materials purchased for specific manufacturing contracts that are valued at cost on the first-in, first-out basis. Inventory also includes (i) consumables stock and spare parts stock that are valued at cost, less an allowance for obsolescence, with cost determined on the first-in, first-out basis; and (ii) potable water held in the Company&#8217;s reservoirs that is valued at the lower of the average cost of producing water during the&#160;year or its net realizable value.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;background:#ffffff;">Contract assets and liabilities:</b><span style="background:#ffffff;"> Billing practices for the Company&#8217;s contracts are governed by the contract terms of each project based upon costs incurred, achievement of milestones or predetermined schedules. Billings do not necessarily correlate with revenue, which is recognized over time using the direct inputs method of accounting. </span>The Company records contract assets and contract liabilities to account for these differences in timing.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:12.0pt;text-align:justify;margin:0pt;">Contract assets, which include costs and estimated earnings in excess of billings on uncompleted contracts, arise when the Company recognizes revenue for services performed under its construction and manufacturing contracts, but the Company is not yet entitled to bill the customer under the terms of the contract. Contract liabilities, which include billings in excess of costs and estimated earnings on uncompleted contracts, represent the Company's obligation to transfer goods or services to a customer for which the Company has been paid by the customer or for which the Company has billed the customer under the terms of the contract. Revenue for future services reflected in this account is recognized, and the liability is reduced, as the Company subsequently satisfies the performance obligation under the contract.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:12.0pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Costs and estimated earnings in excess of billings on uncompleted contracts and billings in excess of costs and estimated earnings on uncompleted contracts are typically resolved within one year and are not <span style="background:#ffffff;">considered</span> significant financing components.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The Company considers retention that is withheld on progress billings as not creating an unconditional right to payment until contractual milestones are reached (typically substantial completion). Accordingly, withheld retention is considered a component of contracts assets and liabilities until finally billed to the customer, when obligations have been satisfied and the right to receipt is subject only to the passage of time.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The Company&#8217;s contract assets and liabilities are reported in a net asset or liability position on a contract-by-contract basis at the end of each reporting period. The Company classifies contract assets and liabilities related to construction and manufacturing contracts in current assets and current liabilities as they will be liquidated in the normal course of contract completion, although this may require more than one year.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Property, plant and equipment, net:</b> Property, plant and equipment is stated at cost less accumulated depreciation. Depreciation is calculated using a straight-line method with an allowance for estimated residual values. Rates are determined based on the estimated useful lives of the assets as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Buildings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">5 to 40 years</p></td></tr><tr><td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">4 to 40 years</p></td></tr><tr><td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Distribution system</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">3 to 40 years</p></td></tr><tr><td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Office furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">3 to 10 years</p></td></tr><tr><td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vehicles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">3 to 10 years</p></td></tr><tr><td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Shorter of 5 years or lease term</p></td></tr><tr><td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Lab equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">5 to 10 years</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Assets under construction are recorded as additions to property, plant and equipment upon completion of the projects. Depreciation commences in the&#160;month the asset is placed in service. Additions to construction in progress are comprised of the cost of the contracted services, direct labor and materials.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Interest costs directly attributable to the acquisition and construction of qualifying assets, which are assets that necessarily take a substantial amount of time to be ready for their intended use, are added to the cost of those assets until such time as the assets are substantially ready for use. No interest was capitalized during the years ended December 31, 2022 or 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Long-lived assets:</b> Long-lived assets are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of the assets might not be recoverable. Conditions that would necessitate an impairment assessment include a significant decline in the observable market value of an asset, a significant change in the extent or manner in which an asset is used, or a significant adverse change that would indicate that the carrying amount of an asset or group of assets is not recoverable. For long-lived assets to be held and used, the Company recognizes an impairment loss only if their carrying amounts are not recoverable through their undiscounted cash flows and measures the impairment loss based on the difference between the carrying amounts and estimated fair values.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Goodwill and intangible assets:</b> Goodwill represents the excess cost of an acquired business over the fair value of the assets and liabilities of the acquired business. Goodwill and intangible assets acquired in a business combination and determined to have an indefinite useful life are not amortized but are tested for impairment annually or upon the identification of a triggering event. Intangible assets with estimable useful lives are amortized over their respective estimated useful lives to their estimated residual values and reviewed periodically for impairment. The Company evaluates the possible impairment of goodwill annually as part of its reporting process for the fourth quarter of each fiscal&#160;year. Management identifies the Company&#8217;s reporting units for goodwill impairment testing purposes, which consist of Cayman Water, the bulk segment (which is comprised of CW-Bahamas and OC-Cayman), PERC, and the manufacturing segment (i.e., Aerex), and determines the carrying value of each reporting unit by assigning the assets and liabilities, including the existing goodwill and intangible assets, to those reporting units. The Company determines the fair value of each reporting unit and compares these fair value to the carrying amount of the reporting units. To the extent the carrying amount of the reporting unit exceeds the fair value of the reporting unit, an impairment loss is recorded.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">For the&#160;year ended December&#160;31, 2021, the Company estimated the fair value of its reporting units by applying the discounted cash flow method, which relied upon seven-year discrete projections of operating results, working capital and capital expenditures, along with a terminal value subsequent to the discrete period. These seven-year projections were based upon historical and anticipated future results, general economic and market conditions, and considered the impact of planned business and operational strategies. The discount rates for the calculations represented the estimated cost of capital for market participants at the time of each analysis.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company also estimated the fair value of each of its reporting units for the year ended December 31, 2021 by applying the guideline public company method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company weighted the fair values estimated for each of its reporting units under each method and summed such weighted fair values to estimate the overall fair value for each reporting unit. The respective weightings the Company applied to each method for the year ended December&#160;31, 2021 were 80% to the discounted cash flow method and 20% to the guideline public company method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-style:italic;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The fair values the Company estimated for its Cayman Water, bulk segment, PERC, and manufacturing segment reporting units exceeded their carrying amounts by 32%, 51%, 15% and 15% respectively, as of December 31, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">For the year ended December 31, 2022, the Company elected to assess qualitative factors to determine whether it was necessary to perform the quantitative goodwill impairment testing conducted in prior years for all goodwill reporting units other than the manufacturing reporting unit. The Company assessed relevant events and circumstances to evaluate whether it is more likely than not that the fair values of such reporting units are less than their carrying values. The events and circumstances assessed for each unit included macroeconomic conditions, industry and market conditions, cost factors, overall financial performance, and other relevant events. Based upon this qualitative assessment the Company determined that it was more likely than not that the fair values of its Cayman Water and bulk segment reporting units exceeded their carrying values as of December 31, 2022. Based upon the Company&#8217;s negotiated, arms-length purchase of the remaining 39% equity interest in PERC from its minority shareholders for $7.8 million in January 2023, the fair value of the Company&#8217;s PERC reporting unit exceeded its carrying value by 79% as of December 31, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Due to the factors discussed in the following paragraphs, the Company elected to test the goodwill associated with its manufacturing reporting unit for possible impairment using the quantitative tests applied in prior years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In connection with its acquisition of Aerex in 2016, the Company recorded goodwill of $8,035,211. Aerex&#8217;s actual results of operations for 2016 fell significantly short of the projected results that were included in the cash flow projections the Company utilized to determine the purchase price for Aerex and the fair values of its assets and liabilities. Due to this shortfall in Aerex&#8217;s results of operations, the Company tested its manufacturing reporting unit&#8217;s goodwill for possible impairment and recorded an impairment loss of $1,750,000 in 2016. As part of its annual impairment testing of goodwill performed during the fourth quarter, in 2017 the Company updated its projections for Aerex&#8217;s future cash flows, determined that the carrying value of its manufacturing reporting unit exceeded its fair value, and recorded an impairment loss of $1,400,000 for December&#160;31, 2017 to further reduce the carrying value of the manufacturing segment goodwill to $4,885,211.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#8203;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">Approximately 80% of Aerex&#8217;s revenue, and 89% of Aerex&#8217;s gross profit, for the year ended December 31,&#160;2020 were generated from sales to one customer. While Aerex sells various products to this customer, Aerex&#8217;s revenue from this customer has historically been derived primarily from one specialized product. In October 2020, this customer informed Aerex that, for inventory management purposes, it was suspending its purchases of the specialized product from Aerex following 2020 for a period of approximately one year. This customer informed Aerex at that time that it expected to recommence its purchases of the specialized product from Aerex beginning with the first quarter of 2022. As a result of this anticipated loss of revenue for Aerex, the Company updated its projections for its Manufacturing reporting unit&#8217;s future cash flows. Such projections assumed, in part, that Aerex&#8217;s major customer would recommence its purchases from Aerex in 2022 but at a reduced aggregate amount, as compared to 2020. Based upon these updated projections, the Company tested its manufacturing reporting unit&#8217;s goodwill for possible impairment as of December 31, 2020 using the discounted cash flow and guideline public company methods, with a weighting of 80% and 20% applied to these two methods, respectively. As a result of these impairment tests, the Company determined that the estimated fair value of its manufacturing reporting unit exceeded its carrying value by approximately 31% as of December 31, 2020.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In late July 2021, this former major customer communicated to Aerex that it expected to recommence its purchases of the specialized product from Aerex in 2022 and subsequent years, but informed Aerex that such purchases would be at substantially reduced annual amounts, as compared to the amounts it had purchased from Aerex in 2020 and prior years. The Company&#8217;s updated sales estimate for this customer based on this new information was substantially below the anticipated sales to this customer for 2022 and subsequent years that the Company used in the discounted cash flow </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">projections it prepared for purposes of testing its Manufacturing reporting unit&#8217;s goodwill for possible impairment as of December 31, 2020. Furthermore, Aerex&#8217;s efforts to replace the revenue previously generated from this customer with revenue from existing and new customers were adversely impacted by the negative economic conditions (caused in part by the COVID-19 pandemic). These negative economic conditions also increased Aerex&#8217;s raw material costs, resulted in raw material shortages and extended delivery times for such materials, and adversely affected the overall financial condition of Aerex&#8217;s current and prospective customers. Accordingly, in light of this new information from Aerex&#8217;s former major customer, and the on-going weak economic conditions that the Company believed would continue through 2022, the Company updated its projections of future cash flows for the manufacturing reporting unit and tested its goodwill for possible impairment as of June 30, 2021 using the discounted cash flow and guideline public company methods, with a weighting of 80% and 20% applied to these two methods, respectively. Based upon this testing, the Company determined that the carrying value of its manufacturing reporting unit exceeded its fair value by $2.9 million, and the Company recorded an impairment loss to reduce its manufacturing segment&#8217;s goodwill by this amount for the three months ended June 30, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">For the year ended December&#160;31, 2022, the Company estimated the fair value of its manufacturing reporting unit by applying the discounted cash flow method, which relied upon seven-year discrete projections of operating results, working capital and capital expenditures, along with a terminal value subsequent to the discrete period. These seven-year projections were based upon historical and anticipated future results, general economic and market conditions, and considered the impact of planned business and operational strategies. The discount rates for the calculations represented the estimated cost of capital for market participants at the time of each analysis. The Company also estimated the fair value of its manufacturing reporting unit for the year ended December 31, 2022 by applying the guideline public company method. The Company weighted the fair values estimated for its manufacturing reporting unit under each method and summed such weighted fair values to estimate the overall fair value for the reporting unit. The respective weightings the Company applied to each method for the year ended December&#160;31, 2022 were 80% to the discounted cash flow method and 20% to the guideline public company method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The fair value the Company estimated for its manufacturing reporting unit exceeded its carrying amount by 63% as of December&#160;31, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company believes the inherent uncertainties associated with the accounting estimates and assumptions it uses for its estimates of its manufacturing reporting unit&#8217;s fair value have increased due to the current, less predictable economic conditions, which have resulted in increasing raw material prices, extended and unexpected delays in the procurement and delivery of its raw materials, and have also, the Company believes, adversely affected its customers. Should interest rates rise significantly in the future the Company would likely be required to increase the discount rate it uses under the discounted cash flow method to estimate the fair value of this reporting unit, and such increased discount rate in and of itself could decrease the estimated fair value of the manufacturing reporting unit under the discounted cash flow method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">As noted previously, based upon its estimation prepared as of December 31, 2022, the fair value of the Company&#8217;s manufacturing reporting unit exceeded its carrying value by 63%. However, if the Company determines in the future that Aerex&#8217;s discounted future cash inflows will be less than its present expectations, the Company may be required to record additional impairment losses to reduce the remaining carrying values of its manufacturing segment&#8217;s goodwill and its remaining unamortized intangible assets balances, which amounted to $1,985,211 and $754,444, respectively, as of December 31, 2022. Any such impairment losses could have a material adverse impact on the Company&#8217;s consolidated results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Investments:</b> Investments where the Company does not exercise significant influence over the operating and financial policies of the investee and holds less than 20% of the voting stock are recorded at cost. The Company uses the equity method of accounting for investments in common stock where the Company holds 20% to 50% of the voting stock of the investee and has significant influence over its operating and financial policies but does not meet the criteria for consolidation. The Company recognizes impairment losses on declines in the fair value of the stock of investees that are other than temporary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Other assets:</b> Under the terms of CW-Bahamas&#8217; contract with the Water and Sewerage Corporation of The Bahamas (&#8220;WSC&#8221;) to supply water from its Blue Hills desalination plant, CW-Bahamas was required to reduce the amount of water </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">lost by the public water distribution system on New Providence Island, The Bahamas, over a one-year period by 438 million gallons, a requirement CW-Bahamas met during 2007. The Company was solely responsible for the engineering, labor and materials costs incurred to reduce the amount of lost water, which were capitalized and are being amortized on a straight-line basis over the original remaining life of the Blue Hills contract. Such costs are included in other assets and aggregated approximately $3.5 million as of December&#160;31, 2022 and 2021. Accumulated amortization for these costs was approximately $2.9 million and $2.7 million as of December&#160;31, 2022 and 2021, respectively. Amortization expense for these costs was $179,353 for the&#160;years ended December&#160;31, 2022 and 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Income taxes:</b> The Company accounts for the income taxes arising from the operations of its United States subsidiaries under the asset and liability method. Deferred tax assets and liabilities, if any, are recognized for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss and tax credit carryforwards. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the&#160;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 income in the period that includes the enactment date. A valuation allowance is provided to the extent any deferred tax asset may not be realized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company is not presently subject to income taxes in the other countries in which it operates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Revenue recognition:</b> Revenue is recognized when control of the promised goods or services is transferred to the Company&#8217;s customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those goods or services.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The following table presents the Company&#8217;s revenue disaggregated by revenue source.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Retail revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25,954,013</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,104,953</p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Bulk revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 32,991,066</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,800,869</p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Services revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,835,428</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,884,857</p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Manufacturing revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,324,465</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,072,823</p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"><b style="font-weight:bold;">Total revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 94,104,972</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 66,863,502</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Retail revenue</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company produces and supplies water to end-users, including residential, commercial and governmental customers in the Cayman Islands under an exclusive retail license issued to Cayman Water by the Cayman Islands government to provide water in two of the three most populated areas on Grand Cayman Island. Customers are billed on a&#160;monthly basis based on metered consumption and bills are typically collected within 30 to <span style="-sec-ix-hidden:Hidden_Mq4RJyVkUUicibqvX6HN6A;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">45&#160;days</span></span> after the billing date. Receivables not collected within 45&#160;days subject the customer to disconnection from water service.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company recognizes revenue from water sales at the time water is supplied to the customer&#8217;s premises. The amount of water supplied is determined and invoiced based upon water meter readings performed at the end of each&#160;month. All retail water contracts are&#160;month-to-month contracts. The Company has elected the &#8220;right to invoice&#8221; practical expedient for revenue recognition on its retail water sale contracts and recognizes revenue in the amount to which the Company has a right to invoice.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Bulk revenue</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company produces and supplies water to government-owned utilities in the Cayman Islands and The Bahamas.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">OC-Cayman provides bulk water to the Water Authority-Cayman (&#8220;WAC&#8221;), a government-owned utility and regulatory agency, under two agreements. The WAC in turn distributes such water to properties in Grand Cayman outside of Cayman Water&#8217;s retail license area.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company sells bulk water in The Bahamas through its majority-owned subsidiary, CW-Bahamas, under two agreements with the WSC, which distributes such water through its own pipeline system to residential, commercial and tourist properties on the Island of New Providence.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company has elected the &#8220;right to invoice&#8221; practical expedient for revenue recognition on its bulk water sale contracts and recognizes revenue in the amount to which the Company has a right to invoice.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Services and Manufacturing revenue</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company provides design, engineering, management, procurement and construction services for desalination infrastructure through DesalCo, which serves customers in the Cayman Islands, The Bahamas and the British Virgin Islands.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company also designs, builds, sells, operates and manages water, wastewater and water reuse infrastructure through PERC. All of PERC's customers are companies or governmental entities located in the U.S.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company, through Aerex, is a custom and specialty manufacturer of systems and products applicable to commercial, municipal and industrial water production and treatment. Substantially all of Aerex&#8217;s customers are U.S. companies.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company generates construction and services revenue from DesalCo and PERC and generates manufacturing revenue from Aerex.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company recognizes <span style="background:#ffffff;">revenue for its construction and custom/specialized manufacturing contracts&#160;</span>over time under the input method using costs incurred (which represents work performed) to date relative to total estimated costs at completion to measure progress toward satisfying a contract&#8217;s performance obligations as such measure best reflects the transfer of control of the promised good to the customer. Contract costs include labor, materials and amounts payable to subcontractors. The Company follows this method since it can make reasonably dependable estimates of the revenue and costs applicable to the various stages of a contract. Under this input method, the Company records revenue and recognizes profit or loss as work on the contract progresses. The Company estimates total project costs and profit to be earned on each long-term, fixed price contract prior to commencement of work on the contract and updates these estimates as work on the contract progresses. The cumulative amount of revenue recorded on a contract at a specified point in time is that&#160;percentage of total estimated revenue that incurred costs to date comprise of estimated total contract costs. If, as work progresses, the actual contract costs exceed estimates, the profit recognized on revenue from that contract decreases. The Company recognizes the full amount of any estimated loss on a contract at the time the estimates indicate such a loss. Any contract assets are classified as current assets. Contract liabilities on uncompleted contracts, if any, are classified as current liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company has elected the &#8220;right to invoice&#8221; practical expedient for revenue recognition on its services agreements and recognizes revenue in the amount to which the Company has a right to invoice.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Practical Expedients and Exemptions</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company does not disclose the value of unsatisfied performance obligations for (i)&#160;contracts with an original expected length of one&#160;year or less and (ii)&#160;contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Comparative amounts:</b> Certain amounts presented in the financial statements previously issued for 2021 have been reclassified to conform to the current&#160;year&#8217;s presentation.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18726-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI https://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203147467904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cash and cash equivalents<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_CashAndCashEquivalentsAbstract', window );"><strong>Cash and cash equivalents</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_CashAndCashEquivalentsDisclosureTextBlock', window );">Cash and cash equivalents</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">3. Cash and cash equivalents</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Cash and cash equivalents are not restricted by the terms of the Company&#8217;s bank accounts as to withdrawal or use. As of December&#160;31, 2022 and 2021, the equivalent United States dollars of the Company&#8217;s cash and cash equivalents, including those accounts denominated in currencies other than the U.S. dollar, are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Bank accounts:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">United States dollar</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,573,161</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,891,277</p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Cayman Islands dollar</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,956,162</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,784,358</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Bahamian dollar</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,698,100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,944,208</p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 45,227,423</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 32,619,843</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Short term deposits:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">United States dollar</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,484,328</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,324,258</p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Cayman Islands dollar</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,413,958</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,484,328</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,738,216</p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 50,711,751</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40,358,059</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;background:#00ff00;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Transfers from the Company&#8217;s Bahamas bank accounts to Company bank accounts in other countries require the approval of the Central Bank of The Bahamas.</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_CashAndCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CashAndCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-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_CashAndCashEquivalentsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cash and cash equivalent footnotes, which may include the types of deposits and money market instruments, applicable carrying amounts, restricted amounts and compensating balance arrangements. Cash and equivalents include: (1) currency on hand (2) demand deposits with banks or financial institutions (3) other kinds of accounts that have the general characteristics of demand deposits (4) 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. Generally, only investments maturing within three months from the date of acquisition qualify.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140203052414160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounts receivable, net<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_ReceivablesAbstract', window );"><strong>Accounts receivable, net.</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_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock', window );">Accounts receivable, net</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;">4. Accounts receivable, net</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:72.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trade accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,163,719</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,311,188</p></td></tr><tr><td style="vertical-align:top;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Receivable from OC-BVI</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 37,293</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40,877</p></td></tr><tr><td style="vertical-align:top;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,384</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 180,262</p></td></tr><tr><td style="vertical-align:top;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,229,396</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,532,327</p></td></tr><tr><td style="vertical-align:top;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Allowance for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (183,214)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (183,020)</p></td></tr><tr><td style="vertical-align:top;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,046,182</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,349,307</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The activity for the allowance for doubtful accounts consisted of:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Opening allowance for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 183,020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 172,269</p></td></tr><tr><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Provision for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts written off during the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (726)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Recovery of accounts written off </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 920</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,751</p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Ending allowance for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 183,214</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 183,020</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Significant concentrations of credit risk are disclosed in Note&#160;18.</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_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -URI https://asc.fasb.org/subtopic&amp;trid=2196772<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140203052387200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventory<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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</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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;">5. Inventory</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Water stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 36,655</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 34,587</p></td></tr><tr><td style="vertical-align:top;width:73.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Consumables stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 246,355</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 138,547</p></td></tr><tr><td style="vertical-align:top;width:73.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Spare parts stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,995,819</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,064,708</p></td></tr><tr><td style="vertical-align:top;width:73.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total inventory</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,278,829</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,237,842</p></td></tr><tr><td style="vertical-align:top;width:73.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,727,842</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,504,832</p></td></tr><tr><td style="vertical-align:top;width:73.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Inventory (non-current)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,550,987</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,733,010</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI https://asc.fasb.org/topic&amp;trid=2126998<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>27
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203052446592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Contracts in progress<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_RevenueFromContractWithCustomerAbstract', window );"><strong>Contracts in progress</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 );">Contracts in progress</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">6. Contracts in progress</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Revenue recognized and amounts billed on contracts in progress are summarized as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:72.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized to date on contracts in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,469,014</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,109,396</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amounts billed to date on contracts in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (33,407,182)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,370,855)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Retainage</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,047,969</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 237,542</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net contract liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,890,199)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (23,917)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">The above net balances are reflected in the accompanying consolidated balance sheet as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,913,722</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 489,961</p></td></tr><tr><td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,803,921)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (513,878)</p></td></tr><tr><td style="vertical-align:bottom;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net contract liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,890,199)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (23,917)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The significant increase in contract liabilities from December 31, 2021 to December 31, 2022 is primarily attributable to billings on PERC&#8217;s construction contract with Liberty Utilities for a water treatment facility in Arizona.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">As of <span style="-sec-ix-hidden:Hidden_IYfoFNovFk6_DJ7VkUWbZg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">December 31, </span></span>2022, the Company had unsatisfied or partially unsatisfied performance obligations for contracts in progress representing approximately $97.9 million in aggregate transaction price for contracts with an original expected length of greater than one year. The Company expects to earn revenue as it satisfies its performance obligations under those contracts in the amount of approximately $75.3 million during the year ending <span style="-sec-ix-hidden:Hidden_krpoWHDnsEuXcTJZVPGkeA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">December 31, 2023</span></span> and $22.6 million <span style="-sec-ix-hidden:Hidden_-N3RFjmXGU2GbGZ4UxVTaQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">thereafter</span></span>. In addition, the Company recognized revenue of $468,000 in the year ended December 31,&#160;2022, that was included in the contract liability balance as of December 31, 2021.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI https://asc.fasb.org/topic&amp;trid=49130388<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130551-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130550-203045<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130558-203045<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>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.1</span><table class="report" border="0" cellspacing="2" id="idm140203052442112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property, plant and equipment and construction in progress<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, plant and equipment and construction in progress</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">Property, plant and equipment and construction in progress</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;">7. Property, plant and equipment and construction in progress</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Land</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,488,400</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,316,537</p></td></tr><tr><td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Buildings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23,280,880</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23,255,925</p></td></tr><tr><td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 64,532,994</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 64,324,377</p></td></tr><tr><td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Distribution system</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 39,544,395</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 39,780,272</p></td></tr><tr><td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Office furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,109,546</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,051,814</p></td></tr><tr><td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vehicles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,525,576</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,079,874</p></td></tr><tr><td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 287,980</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 287,980</p></td></tr><tr><td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Lab equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,456</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,456</p></td></tr><tr><td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 139,782,227</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 136,109,235</p></td></tr><tr><td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 87,252,682</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 83,162,696</p></td></tr><tr><td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 52,529,545</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 52,946,539</p></td></tr><tr><td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Construction in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,705,681</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 710,863</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">As of December&#160;31, 2022, the Company had outstanding capital commitments of approximately $2.0 million. The Company maintains insurance for loss or damage to all fixed assets that it deems susceptible to loss. During the&#160;years ended December&#160;31, 2022 and 2021, $297,723 and $644,224, respectively, of construction in progress was placed in service. Depreciation expense was $5,425,177 and $5,995,213 for the&#160;years ended December&#160;31, 2022 and 2021, respectively.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99893-112916<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -URI https://asc.fasb.org/topic&amp;trid=2155823<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=SL120174063-112916<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99779-112916<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203054637168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Discontinued operations - Mexico project development<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DiscontinuedOperationsAndDisposalGroupsAbstract', window );"><strong>Discontinued operations - Mexico project development</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_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock', window );">Discontinued operations</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">8. Discontinued operations &#8211; Mexico project development</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">In 2010, the Company began the pursuit, through its Netherlands subsidiary, Consolidated Water Cooperatief, U.A. (&#8220;CW-Cooperatief&#8221;), and its Mexico subsidiary, N.S.C. Agua, S.A. de C.V. (&#8220;NSC&#8221;), of a project (the &#8220;Project&#8221;) that encompassed the construction, operation and minority ownership of a 100 million gallon per day seawater reverse osmosis desalination plant to be located in northern Baja California, Mexico and accompanying pipelines to deliver water to the Mexican potable water system.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Through a series of transactions that began in 2012, NSC purchased 20.1 hectares of land for approximately $21.1 million on which the proposed Project&#8217;s plant was to be constructed.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#8203;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Following an assessment by the State of Baja, California (the &#8220;State&#8221;) of the need for such a desalination plant and the passage of enabling legislation in November 2015, the State officially commenced the required public tender for the Project. A consortium (the &#8220;Consortium&#8221;) comprised of NSC, Suez Medio Ambiente M&#233;xico, S.A. de C.V. (&#8220;Suez MA&#8221;), a subsidiary of SUEZ International, S.A.S., and NuWater S.A.P.I. de C.V. (&#8220;NuWater&#8221;) submitted its tender for the Project in April 2016 and in June 2016, the State designated the Consortium as the winner of the tender process for the Project.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#8203;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In August 2016, NSC and NuWater incorporated a new company under the name Aguas de Rosarito S.A.P.I. de C.V. (&#8220;AdR&#8221;) to pursue completion of the Project and executed a shareholders agreement for AdR agreeing among other things that (i) AdR would purchase the land and other Project assets from NSC on the date that the Project begins commercial operation and (ii) AdR would enter into a Management and Technical Services Agreement with NSC effective on the first day that the Project begins commercial operation. NSC initially owned 99.6% of the equity of AdR. In February 2018, CW-Holdings acquired the remaining 0.4% ownership in AdR from NuWater.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#8203;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On August 22, 2016, the Public Private Partnership Agreement for the Project (the &#8220;APP Contract&#8221;) was executed between AdR, the State Water Commission of Baja California (&#8220;CEA&#8221;), the Government of Baja California, as represented by the Secretary of Planning and Finance and the Public Utilities Commission of Tijuana (&#8220;CESPT&#8221;). The APP Contract required AdR to design, construct, finance and operate a seawater reverse osmosis desalination plant (and accompanying aqueduct) with a capacity of up to 100 million gallons per day in two phases: the first with a capacity of 50 million gallons per day and an aqueduct to the Mexican public water system in Tijuana, Baja California and the second phase with a capacity of 50 million gallons per day. The first phase was to be operational within 36 months of commencing construction and the </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">second phase was to be operational by January 2025. The APP Contract further required AdR to operate and maintain the plant and aqueduct for a period of 37 years starting from the commencement of operation of the first phase. At the end of the operating period, the plant and aqueduct would have been transferred to CEA. The APP Contract was subsequently amended by the parties in June 2018 to increase the scope of Phase 1 and to allow for changes in the water tariff due to the changes in the exchange rate for the peso, interest rates and construction costs that had and would occur from the date the APP Contract was signed to the date construction commenced.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On June 29, 2020, AdR received a letter (the &#8220;Letter&#8221;) from the Director General of CEA and the Director General of CESPT terminating the APP Contract. The Letter requested that AdR provide an inventory of the assets that currently comprise the &#8220;Project Works&#8221; (as defined in the APP Contract) for the purpose of acknowledging and paying the non-recoverable expenses made by AdR in connection with the Project, with such reimbursement to be calculated in accordance with the terms of the APP Contract. The applicable law required that this list of non-recoverable expenses made by AdR in connection with the Project be submitted to CEA and CESPT within 20 business days from the date of receipt of the Letter. AdR initiated an&#160;amparo&#160;claim before a federal district court in Tijuana, Baja California, to challenge the provision of the applicable law requiring submittal of the list of non-recoverable expenses within the&#160;20&#160;business days term, as AdR considered such term to be unreasonably short due to the magnitude of the Project and the scope of supporting documentation required to be provided with respect to the non-recoverable expenses. AdR obtained an initial provisional suspension of the lapsing of such 20-day term from the court, and on August 10, 2020 the court made such suspension definitive until the completion of the amparo trial. As such, the&#160;20-day&#160;term for filing the list of non-recoverable expenses was suspended. Therefore, on August 28, 2020, AdR submitted their list of non-recoverable expenses, including those of NSC, to CEA and CESPT which was comprised of 51,144,525 United States dollars and an additional 137,333,114 Mexican pesos. In February 2021, AdR withdrew this amparo claim, and such withdrawal was accepted by the federal district court in Tijuana. To date, AdR has not received a formal response from CEA or CESPT to its submission of non-recoverable expenses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company believes CW-Cooperatief, as a Netherlands company, has certain rights relating to its investments in NSC and AdR under the <i style="font-style:italic;">Agreement on Promotion, Encouragement and Reciprocal Protection of Investments between the Kingdom of the Netherlands and the United Mexican States </i>entered into force as of October 1, 1999 (the &#8220;Treaty&#8221;). On April 16, 2021, CW-Cooperatief submitted a letter to the President of Mexico and other Mexican federal government officials alleging that the State&#8217;s termination of the APP Contract constituted a breach by Mexico of its international obligations under the Treaty, entitling CW-Cooperatief to full reparation, including monetary damages. This letter invites Mexico to seek a resolution of this investment dispute through consultation and negotiation, but stated that if the dispute cannot be resolved in this manner, CW-Cooperatief elects to refer the dispute to the International Centre for the Settlement of International Disputes for arbitration, as provided for in the Treaty. On June 29, 2021, the Mexican Ministry of Economy responded to CW-Cooperatief&#8217;s letter and proposed to hold a consultation meeting. Two such meetings were held on July 9, 2021 and August 2, 2021 on a confidential basis, without a resolution of the Company&#8217;s investment dispute.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;text-align:justify;background:#ffffff;margin:0pt;">On February 9, 2022, CW-Cooperatief, filed a Request for Arbitration with the International Centre for Settlement of International Disputes requesting that the United Mexican States pay CW-Cooperatief damages in excess of US$51 million plus MXN$137 million (with the exact amount to be quantified in the proceedings), plus fees, costs and pre- and post-award interest.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;background:#ffffff;margin:0pt 0pt 12pt 0pt;">CW-Cooperatief intends to pursue vigorously the relief sought in the arbitration, in addition to pursuing all other legal remedies and courses of action available under the operative contracts and applicable law with respect to their rights, damages, fees and expenses. The Company cannot provide any assurances that CW-Cooperatief will be able to obtain the relief sought in the arbitration, and CW-Cooperatief will incur legal and other arbitration-related expenses that the Company expects will be material to its consolidated results of operations and cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">During July 2022, the State initiated discussions with the Company to potentially resolve the issues related to the cancellation by the government of the Rosarito desalination plant contract as well as potentially addressing the State&#8217;s acute water shortage issues. The Company cannot presently determine the outcome of the discussions and the Company has not terminated its efforts to obtain relief through the international arbitration process as a result of these discussions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company cannot provide any assurances that it will be able to obtain reimbursement for any expenses or investments made with respect to the Project.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">As a result of the cancellation of the APP Contract, in 2020 the Company discontinued all development activities associated with the Project and commenced active marketing efforts to sell the land NSC purchased for the Project. Accordingly, the assets and liabilities of CW-Cooperatief, NSC and AdR, as well as the costs for legal and administrative activities to pursue reimbursement from the State of Baja California following the cancellation of the APP Contract, have been classified as discontinued operations in the accompanying consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company&#8217;s net losses from discontinued operations for the years ended December&#160;31,&#160;2022 and 2021 were ($2,371,049) and ($2,574,079), respectively. The Company&#8217;s net losses from discontinued operations for 2022 and 2021 includes provisions of $377,326 and $963,540, respectively, for uncollectible value added taxes paid to, and reimbursable from, the Mexican federal government.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">Summarized financial information for the discontinued Mexico project development operation is as follows:</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 442,252</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 750,048</p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,675</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 75,826</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82,783</p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-size:10pt;">Value added taxes receivable </span>(net of allowance of $1,711,234 and $1,279,757, respectively)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 727</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 340,910</p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Land</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,126,898</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,126,898</p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,390</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,288</p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total assets of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,660,768</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,319,927</p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total liabilities of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 389,884</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 190,141</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;background:#ffffff;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Provision for uncollected value added taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 377,326</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 963,540</p></td></tr><tr><td style="vertical-align:bottom;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Loss from discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,371,049</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,574,079</p></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Depreciation expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,545</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</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_DiscontinuedOperationsAndDisposalGroupsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DiscontinuedOperationsAndDisposalGroupsAbstract</td>
</tr>
<tr>
<td style="padding-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_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 related to a disposal group. Includes, but is not limited to, a discontinued operation, disposal classified as held-for-sale or disposed of by means other than sale or disposal of an individually significant component.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -URI https://asc.fasb.org/topic&amp;trid=2155823<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -URI https://asc.fasb.org/subtopic&amp;trid=2122178<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140203052417888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible assets<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Intangible assets</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_IntangibleAssetsDisclosureTextBlock', window );">Intangible assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">9. Intangible assets</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s purchase transactions for Aerex and PERC identified certain intangible assets. The remaining intangible assets and their respective useful lives are as follows: non-compete agreements (<span style="-sec-ix-hidden:Hidden_91hD7DAcuEWByb9hPsVsfg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">3</span></span> and <span style="-sec-ix-hidden:Hidden_RdQbXo2Mg0Gum4zs_sJGPA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">5&#160;years</span></span>), trade names (<span style="-sec-ix-hidden:Hidden_NWCWAsh4-U-6RasXWCt7Kg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">15&#160;years</span></span>), and facility management contracts (6 years).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The costs and accumulated amortization for these assets were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cost</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 530,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 530,000</p></td></tr><tr><td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trade names</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,700,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,700,000</p></td></tr><tr><td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Facility management contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,200,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,200,000</p></td></tr><tr><td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,430,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,430,000</p></td></tr><tr><td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (530,000)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (493,889)</p></td></tr><tr><td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trade names</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (920,000)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (740,000)</p></td></tr><tr><td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Facility management contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,161,112)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (794,445)</p></td></tr><tr><td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,611,112)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,028,334)</p></td></tr><tr><td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Intangible assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,818,888</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,401,666</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Amortization of intangible assets for each of the next five&#160;years and thereafter is expected to be as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 546,667</p></td></tr><tr><td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 546,667</p></td></tr><tr><td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 485,554</p></td></tr><tr><td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 180,000</p></td></tr><tr><td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 180,000</p></td></tr><tr><td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 880,000</p></td></tr><tr><td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,818,888</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Amortization expense was $582,778 and $746,667 for the years ended December&#160;31,&#160;2022 and 2021, respectively.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_IntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all or part of the information related to intangible 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -URI https://asc.fasb.org/subtopic&amp;trid=2144471<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>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.1</span><table class="report" border="0" cellspacing="2" id="idm140203050383920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_LeasesAbstract', 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">10. Leases</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s leases consist primarily of leases for office and warehouse space. For leases with terms greater than twelve months, the related asset and obligation are recorded at the present value of the lease payments over the term. Many of these leases contain rental escalation clauses which are factored into the determination of the lease payments when appropriate. When available, the lease payments are discounted using the rate implicit in the lease; however, the Company&#8217;s current leases do not provide a readily determinable implicit rate. Therefore, the Company&#8217;s incremental borrowing rate is estimated to discount the lease payments based on information available at the lease commencement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">These leases contain both lease and non-lease components, which the Company has elected to treat as a single lease component. The Company elected not to recognize leases that have an original lease term, including reasonably certain renewal or purchase obligations, of twelve months or less in its consolidated balance sheets for all classes of underlying assets. Lease costs for such short-term leases are expensed on a straight-line basis over the lease term.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The land used by the Company to operate its seawater desalination plants in the Cayman Islands and The Bahamas is owned by the Company or leased to the Company for immaterial annual amounts and is not included in the lease amounts presented in the consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">All lease assets denominated in a foreign currency are measured using the exchange rate at the commencement of the lease. All lease liabilities denominated in a foreign currency are remeasured using the exchange rate as of the consolidated balance sheet date.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Lease assets and liabilities</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The following table presents the lease-related assets and liabilities and their respective classification on the consolidated balance sheets:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">ASSETS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Current</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 35,624</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current assets of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,979</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,654</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Noncurrent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating lease right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,058,384</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,681,137</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Long-term assets of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16,898</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,101,987</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,700,689</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">LIABILITIES</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Current</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current maturities of operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 546,851</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 592,336</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current liabilities of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,361</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,195</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Noncurrent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Noncurrent operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,590,542</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,137,394</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Noncurrent liabilities of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,819</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,144,754</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,748,744</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Weighted average remaining lease term:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">6.6 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">7.0 years</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating leases - discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">0.8 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">1.6 years</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Weighted average discount rate:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">5.11%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">5.03%</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating leases - discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">4.96%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">4.77%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The components of lease cost were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating lease costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 692,404</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 656,130</p></td></tr><tr><td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Short-term lease costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 100,975</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 79,606</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Lease costs - discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40,021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31,281</p></td></tr><tr><td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 833,400</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 767,017</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Supplemental cash flow information related to leases is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cash paid for amounts included in measurement of liabilities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating cash outflows for operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 742,696</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 710,024</p></td></tr><tr><td style="vertical-align:bottom;width:73.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating cash outflows for operating leases - discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,590</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 38,246</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Future lease payments relating to the Company's operating lease liabilities from continuing operations as of December 31, 2022 are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:84.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Years ending December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 643,233</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 390,630</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 268,056</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 227,542</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 229,416</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 778,460</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total future lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,537,337</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (399,944)</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,137,393</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: current obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (546,851)</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Noncurrent lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,590,542</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -URI https://asc.fasb.org/subtopic&amp;trid=77888251<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>32
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203052420320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_IncomeTaxDisclosureAbstract', window );"><strong>Income taxes</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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">11. Income taxes</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The components of income before income taxes for the years ended December 31, 2022 and 2021 are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:72.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign (not subject to income taxes)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,958,583</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,780,692</p></td></tr><tr><td style="vertical-align:top;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Mexico</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (987,279)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,767,915)</p></td></tr><tr><td style="vertical-align:top;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,394,642</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,952,265)</p></td></tr><tr><td style="vertical-align:top;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,365,946</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,060,512</p></td></tr><tr><td style="vertical-align:top;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,371,049</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,574,079</p></td></tr><tr><td style="vertical-align:top;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,736,995</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,634,591</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company&#8217;s provision (benefit) for income taxes for the&#160;years ended December&#160;31, 2022 and 2021, which related to U.S. operations, consists of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 430,116</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 202,444</p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (29,157)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (895)</p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 400,959</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 201,549</p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (184,469)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (524,733)</p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 180,249</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (124,798)</p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4,220)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (649,531)</p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total provision (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 396,739</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (447,982)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">A reconciliation of the U.S. statutory federal tax rate to the effective rate for the&#160;years ended December&#160;31, 2022&#160;and 2021 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:72.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">U.S. statutory federal rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:top;width:72.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">State taxes, net of federal effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8.88</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.72</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:top;width:72.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Nontaxable foreign income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (25.57)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (43.36)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Research &amp; development tax credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1.92)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (7.39)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:top;width:72.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Permanent items</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.70)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (6.26)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:top;width:72.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill impairment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20.31</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:top;width:72.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Valuation allowance for deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.38</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.65</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:72.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.07</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (12.33)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The tax effects of significant items comprising the Company&#8217;s net long-term deferred tax liability as of December&#160;31, 2022 and 2021 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Continuing Operations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Research &amp; development tax credits</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,069</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 398,413</p></td></tr><tr><td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Loss carryforward</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 443,076</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 300,545</p></td></tr><tr><td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Accrued compensation</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82,503</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 112,446</p></td></tr><tr><td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Operating lease liabilities</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 412,840</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 469,398</p></td></tr><tr><td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Valuation allowances</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (29,036)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (139,207)</p></td></tr><tr><td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 967,452</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,141,595</p></td></tr><tr><td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Property and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 293,195</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 254,301</p></td></tr><tr><td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 821,723</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 982,422</p></td></tr><tr><td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating lease right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 412,840</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 469,398</p></td></tr><tr><td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,527,758</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,706,121</p></td></tr><tr><td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net deferred tax liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 560,306</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 564,526</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Discontinued Operations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax assets: </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Operating loss carryforwards - Mexico</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,378,177</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,230,398</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Land basis difference - Mexico</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,163,681</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,602,470</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Start-up costs - Mexico</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,274,858</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,693,395</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Valuation allowances</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (11,816,716)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,526,263)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of December 31, 2022, continuing operations has a federal net loss carryforward of $1.7 million and a state net loss carryforward of $1.6 million, both of which have an indefinite expiration date. Discontinued operations has a net loss carryforward of $17.9 million that will begin to expire, if unused, in various amounts between 2023 and 2032. The unused research &amp; development tax credit carryforwards from continuing operations of $58,069 as of December 31, 2022 have an indefinite expiration date.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32857-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330215-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32705-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6424409&amp;loc=d3e44925-109338<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI https://asc.fasb.org/topic&amp;trid=2144680<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>33
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203052269824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per share<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_EarningsPerShareAbstract', window );"><strong>Earnings per share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Earnings per share</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">12. Earnings per share</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Earnings per share (&#8220;EPS&#8221;) is computed on a basic and diluted basis. Basic EPS is computed by dividing net income (loss) (less preferred stock dividends) available to common stockholders by the weighted average number of common shares outstanding during the period. The computation of diluted EPS assumes the issuance of common shares for all potential </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">common shares outstanding during the reporting period and, if dilutive, the effect of stock options as computed under the treasury stock method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The following summarizes information related to the computation of basic and diluted EPS:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,227,343</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,449,658</p></td></tr><tr><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: preferred stock dividends</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (11,532)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,796)</p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income from continuing operations available to common shares in the determination of basic earnings per common share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,215,811</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,438,862</p></td></tr><tr><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total loss from discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,371,049)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,574,079)</p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income available to common shares in the determination of basic earnings per common share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,844,762</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 864,783</p></td></tr><tr><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average number of common shares in the determination of basic earnings per common share attributable to Consolidated Water Co. Ltd. common stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,290,509</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,213,816</p></td></tr><tr><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Plus:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average number of preferred shares outstanding during the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31,885</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 30,348</p></td></tr><tr><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Potential dilutive effect of unexercised options and unvested stock grants</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 79,259</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 65,981</p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average number of shares used for determining diluted earnings per common share attributable to Consolidated Water Co. Ltd. common stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,401,653</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,310,145</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=109243012&amp;loc=SL65017193-207537<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -URI https://asc.fasb.org/topic&amp;trid=2144383<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>34
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203052471920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Dividends<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DividendsAbstract', window );"><strong>Dividends.</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_cwco_DividendsTextBlock', window );">Dividends</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">13. Dividends</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Interim dividends declared on Class&#160;A common stock and redeemable preferred stock for each quarter of the respective&#160;years ended December&#160;31, 2022 and 2021 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">First Quarter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.085</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.085</p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Second Quarter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.085</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.085</p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Third Quarter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.085</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.085</p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Fourth Quarter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.085</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.085</p></td></tr><tr><td style="vertical-align:bottom;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.34</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.34</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</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_cwco_DividendsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 dividends.</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;">cwco_DividendsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</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_DividendsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DividendsAbstract</td>
</tr>
<tr>
<td style="padding-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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140203053373216">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_SegmentReportingAbstract', window );"><strong>Segment information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">Segment information</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">14. Segment information</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company has four reportable segments: retail, bulk, services and manufacturing. The retail segment operates the water utility for the Seven Mile Beach and West Bay areas of Grand Cayman Island pursuant to an exclusive license granted by the Cayman Islands government. The bulk segment supplies potable water to government utilities in Grand Cayman and The Bahamas under long-term contracts. The services segment designs, constructs and sells water infrastructure and provides management and operating services to third parties. The manufacturing segment manufactures and services a wide range of custom and specialized water-related products applicable to commercial, municipal and industrial water production, supply and treatment. Consistent with prior periods, the Company records all non-direct general and administrative expenses in its retail business segment and does not allocate any of these non-direct expenses to its other three business segments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The accounting policies of the segments are consistent with those described in Note&#160;2. The Company evaluates each segment&#8217;s performance based upon its income (or loss) from operations. All intercompany transactions are eliminated for segment presentation purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company&#8217;s segments are strategic business units that are managed separately because each segment sells different products and/or services, serves customers with distinctly different needs and generates different gross profit margins.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:63.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Retail</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Bulk</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Manufacturing</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25,954,013</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 32,991,066</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,835,428</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,324,465</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 94,104,972</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,548,763</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23,032,212</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,973,634</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,195,240</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 63,749,849</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Gross profit </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,405,250</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,958,854</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,861,794</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,129,225</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 30,355,123</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">General and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,552,866</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,570,732</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,461,294</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,485,342</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,070,234</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Gain (loss) on asset dispositions and impairments, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (39,397)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,607</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23,717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,631)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (12,704)</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,187,013)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,393,729</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,424,217</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (358,748)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,272,185</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 464,810</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,736,995</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 396,739</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income from continuing operations </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,340,256</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income from continuing operations attributable to non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,112,913</p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,227,343</p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss from discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,371,049)</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income attributable to Consolidated Water Co. Ltd. stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,856,294</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Depreciation and amortization expenses for the&#160;year ended December&#160;31, 2022 for the retail, bulk, services and manufacturing segments were $2,391,603, $2,836,794, $674,508 and $284,403, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:34.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:64.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As&#160;of December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:34.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Retail</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Bulk</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Manufacturing</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,953,927</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16,554,940</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,838,721</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,698,594</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,046,182</p></td></tr><tr><td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Inventory, current and non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,759,659</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,037,684</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,481,486</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,278,829</p></td></tr><tr><td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,697,490</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,510,658</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">759,409 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,561,988</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 52,529,545</p></td></tr><tr><td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Construction in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,643,889</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 61,792</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,705,681</p></td></tr><tr><td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Intangibles, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,064,444</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 754,444</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,818,888</p></td></tr><tr><td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,170,511</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,948,875</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,320,416</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,985,211</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,425,013</p></td></tr><tr><td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total segment assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 65,853,789</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 56,118,243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">36,319,078 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,054,971</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 171,346,081</p></td></tr><tr><td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Assets of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,660,768</p></td></tr><tr><td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 193,006,849</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:63.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Retail</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Bulk</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Manufacturing</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,104,953</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,800,869</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,884,857</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,072,823</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 66,863,502</p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,060,937</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,759,272</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,707,243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,828,859</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 43,356,311</p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,044,016</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,041,597</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,177,614</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 243,964</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23,507,191</p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">General and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,841,259</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,365,735</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,762,735</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,380,630</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 18,350,359</p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Gain (loss) on asset dispositions and impairments, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (246,851)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (485)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,900,000)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3,145,836)</p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,044,094)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,677,362</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 414,394</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4,036,666)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,010,996</p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,623,595</p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,634,591</p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Benefit from income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (447,982)</p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income from continuing operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,082,573</p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income from continuing operations attributable to non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 632,915</p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,449,658</p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss from discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,574,079)</p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income attributable to Consolidated Water Co. Ltd. stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 875,579</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Depreciation and amortization expenses for the&#160;year ended December&#160;31, 2021 for the retail, bulk, services and manufacturing segments were $2,517,407, $3,331,554, $782,882 and $289,390, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:35.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:64.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As&#160;of December&#160;31,&#160;2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Retail</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Bulk</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Manufacturing</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,601,619</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,682,951</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,698,797</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,365,940</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,349,307</p></td></tr><tr><td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Inventory, current and non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,787,277</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,860,808</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 589,757</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,237,842</p></td></tr><tr><td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,357,390</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,476,936</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 512,493</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,599,720</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 52,946,539</p></td></tr><tr><td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Construction in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 617,334</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31,737</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 61,792</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 710,863</p></td></tr><tr><td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Intangibles, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,553,888</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 847,778</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,401,666</p></td></tr><tr><td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,170,511</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,948,875</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,320,416</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,985,211</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,425,013</p></td></tr><tr><td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total segment assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 61,736,441</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 68,723,405</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,825,207</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,749,877</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 154,034,930</p></td></tr><tr><td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Assets of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,319,927</p></td></tr><tr><td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 176,354,857</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Revenue earned by major geographic region were:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cayman Islands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 30,375,985</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,935,746</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Bahamas</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29,943,615</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,031,547</p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 33,338,466</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,489,851</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Revenue earned from management services agreement with OC-BVI</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 446,906</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 406,358</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 94,104,972</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 66,863,502</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Revenue earned from major customers were:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Revenue earned from the WSC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29,943,615</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,031,547</p></td></tr><tr><td style="vertical-align:top;width:73.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Percentage of consolidated revenue earned from the WSC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">32%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">36%</p></td></tr><tr><td style="vertical-align:middle;width:73.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Revenue earned from one service segment customer</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,805,752</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:middle;width:73.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Percentage of consolidated revenue earned from the one service segment customer</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">13%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">0%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Property, plant and equipment, net by major geographic region were:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cayman Islands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,068,156</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,687,944</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">The Bahamas</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,031,690</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,004,707</p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,429,699</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,253,888</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 52,529,545</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 52,946,539</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</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_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 34<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8981-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8721-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 26<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8844-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8657-108599<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8721-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -URI https://asc.fasb.org/topic&amp;trid=2134510<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203053373216">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cost of revenues and general and administrative expenses<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract', window );"><strong>Cost of revenues and general and administrative expenses</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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock', window );">Cost of revenues and general and administrative expenses</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;">15. Cost of revenue and general and administrative expenses</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cost of revenue consist of:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Subcontractor and other project costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16,717,422</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,853,617</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employee costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,036,117</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,439,042</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Fuel oil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,203,690</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,742,056</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Electricity</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,975,129</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,698,148</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,261,463</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,855,073</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Maintenance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,786,258</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,092,776</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Insurance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,782,333</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,625,862</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Retail license royalties</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,590,250</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,418,820</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of plant sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,129,702</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,757</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,267,485</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,606,160</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 63,749,849</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 43,356,311</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">General and administrative expenses consist of:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employee costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,209,635</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,562,125</p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Insurance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,067,625</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,813,026</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Professional fees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,760,279</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,611,616</p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Directors&#8217; fees and expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 991,592</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 851,775</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Office rent</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 793,380</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 735,737</p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Amortization of intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 582,778</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 746,667</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 163,714</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 140,140</p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,501,231</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,889,273</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,070,234</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 18,350,359</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for cost of revenues and general and administrative expenses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140203052460000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-based compensation<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Stock-based compensation</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Stock-based compensation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">16. Stock-based compensation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company has the following stock compensation plans that form part of its employees&#8217; and Directors&#8217; remuneration:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Employee Share Incentive Plan (Preferred Stock)</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Employees (i.e., other than Directors and Officers), after <span style="-sec-ix-hidden:Hidden_m6oR_p4jC0S6jabQ6DdScQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">four</span></span> consecutive years of employment, become eligible to receive shares of the Company&#8217;s preferred stock for $nil consideration under the Company&#8217;s Employee Share Incentive Plan. Once an individual becomes eligible for this plan, they are awarded shares of preferred stock in the month of June following their date of eligibility for the plan (the &#8220;grant date&#8221;) and in June of each subsequent year of the individual's employment for as long as the individual remains employed with the Company. If the employee remains with the Company through the fourth anniversary of a grant date, the preferred stock can be converted into shares of the Company&#8217;s common stock on a one for one basis. In addition, at the time the preferred stock is granted, the employee receives options to purchase an equal number of shares of preferred stock at a discount to the average trading price of the Company&#8217;s common stock for the first <span style="-sec-ix-hidden:Hidden_g43qDNLa60qa927jd3oQ1Q;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">seven&#160;days</span></span> of the October&#160;immediately preceding the date of the preferred stock grant. If these options are exercised, the shares of preferred stock obtained may also be converted to shares of common stock if the employee remains with the Company through the fourth anniversary of a grant date. Each employee&#8217;s option to purchase shares of preferred stock must be exercised within <span style="-sec-ix-hidden:Hidden_gp5NWYBmYUOohlMit8VLZA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">30&#160;days</span></span> of the grant date, which is the 90<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">th</sup> day after the date of the independent registered public accountants&#8217; audit opinion on the Company&#8217;s consolidated financial statements. Shares of preferred stock not subsequently converted to shares of common stock are redeemable only at the discretion of the Company. Shares of preferred stock granted under this plan during the&#160;years ended December&#160;31, 2022 and 2021 totaled 9,295 and 8,632, respectively, and an equal number of preferred stock options were granted in each of these&#160;years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Employee Share Option Plan (Common Stock Options)</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company has an employee stock option plan for four long-serving employees of the Company. Under the plan, these employees are granted in each calendar&#160;year, as long as the employee is a participant in the Employee Share Incentive Plan, options to purchase common shares. The price at which the option may be exercised is the closing market price on the grant date, which is the 40<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">th</sup> day after the date of the Company&#8217;s Annual Shareholder Meeting. The number of options each employee is granted is equal to five times the sum of (i)&#160;the number of shares of preferred stock that employee receives for $nil consideration and (ii)&#160;the number of preferred stock options that employee exercises in that given&#160;year. Options may be exercised during the period commencing on the fourth anniversary of the grant date and ending on the 30<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">th</sup> day after the fourth anniversary of the grant date. Options granted under this plan during the&#160;years ended December&#160;31, 2022 and 2021 totaled 3,665 and 3,400, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The fair value of each option award is estimated on the date of grant using a Black-Scholes option-pricing model that uses the assumptions noted in the table below. Expected volatilities are based on historical volatilities of the Company&#8217;s common stock. The expected term of options granted is based on historical data and represents the period of time that options granted are expected to be outstanding. The Company uses historical data to estimate stock option exercises and forfeitures within its valuation model. The risk-free interest rate for the expected term of the option is based on the U.S. Treasury yield curve in effect at the time of the grant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">2008 Equity Incentive Plan</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On May&#160;14, 2008, the Company&#8217;s stockholders approved the 2008 Equity Incentive Plan (the &#8220;2008 Plan&#8221;) and reserved 1,500,000 shares of the Company&#8217;s Class&#160;A common shares for issuance under this plan. All Directors, executives and key employees of the Company or its affiliates are eligible for participation in the 2008 Plan which provides for the issuance of options, restricted stock and stock equivalents at the discretion of the Board.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company measures and recognizes compensation expense at fair value for all share-based payments, including stock options. Stock-based compensation for the Employee Share Incentive Plan, Employee Share Option Plan and the 2008 Equity Incentive Plan totaled $386,260 and $137,215 for the&#160;years ended December&#160;31, 2022 and 2021, respectively, and is included in general and administrative expenses in the accompanying consolidated statements of income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The significant weighted average assumptions for the&#160;years ended December&#160;31, 2022 and 2021 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:77.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:77.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:top;width:77.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Risk free interest rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.64</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:top;width:77.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected option life (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:77.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected volatility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 47.15</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31.92</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:top;width:77.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected dividend yield</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.35</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.87</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">A summary of the Company&#8217;s stock option activity for the&#160;year ended December&#160;31, 2022 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Life&#160;(Years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Value&#160;(1)</b></p></td></tr><tr><td style="vertical-align:top;width:59.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at beginning of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,490</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12.98</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,960</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10.47</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:59.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3,064)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8.73</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited/expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (8,646)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9.89</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:59.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding as of December&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,740</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13.59</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">years&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,534</p></td></tr><tr><td style="vertical-align:top;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercisable as of December&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">years&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The intrinsic value of a stock option represents the amount by which the fair value of the underlying stock, measured by reference to the closing price of the common shares of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">14.80</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> on the Nasdaq Global Select Market on December&#160;31, 2022, exceeds the exercise price of the option.</span></td></tr></table><div style="margin-top:12pt;"/><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of December&#160;31, 2022, 11,740 non-vested options were outstanding, with weighted average exercise price of $13.59, and average remaining contractual life of 2.37&#160;years.&#160;The total remaining unrecognized compensation costs related to unvested stock-based arrangements were $23,609 as of December&#160;31, 2022 and are expected to be recognized over a weighted average period of 2.37&#160;years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The following table summarizes the weighted average fair value of options at the date of grant and the intrinsic value of options exercised during the years ended December 31, 2022 and 2021:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options granted with an exercise price below market price on the date of grant:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employees &#8212; preferred stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.58</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.71</p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Overall weighted average</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.58</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.71</p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options granted with an exercise price at market price on the date of grant:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Management employees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employees &#8212; common stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.32</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.89</p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Overall weighted average</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.32</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.89</p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options granted with an exercise price above market price on the date of grant:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Management employees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employees &#8212; preferred stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Overall weighted average</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total intrinsic value of options exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,158</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,876</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Senior Management Long-Term Incentive Compensation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Board of Directors has established the long-term incentive compensation for the Company&#8217;s senior management to better align the interests of its senior management with those of its shareholders. The long-term compensation plan includes a combination of performance and non-performance-based grants of common stock from the shares of Company stock provided for issuance under the 2008 Equity Incentive Plan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The non-performance-based stock grant rights, which are issued on January 1 of each year, vest in one-third increments at the end of each&#160;year over a three-year period. The number of non-performance-based stock grant rights issued on January 1, 2022 and 2021 were 32,265 and 26,403, respectively. These stock grant rights vest in one-third increments over the <span style="-sec-ix-hidden:Hidden_xV2zF2SZVkSO1s2NF-O8vA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three-year</span></span> periods ending December 31, 2024 and 2023, respectively. The total number of vested shares issued under prior years&#8217; non-performance stock grant rights totaled 23,411 and 25,789 in the years ended December 31, 2022 and 2021, respectively. For the&#160;years ended December&#160;31, 2022 and 2021, the Company recognized $325,270 and $306,250 in stock-based compensation expense, respectively, related to the incremental vesting of the non-performance stock grant rights.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The performance-based grants may be earned at the end of each&#160;year based upon the Company's three-year cumulative financial performance relative to three-year cumulative financial performance targets. The Company recognized $335,964 and $214,675 in stock-based compensation for the&#160;year ended December&#160;31, 2022 and 2021, respectively, related to these grants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">A total of 13,797 stock grant rights were earned as of December&#160;31, 2022 based upon the Company&#8217;s actual financial performance relative to the cumulative financial performance targets for the three-year period ended December 31, 2022 The shares associated with these grants will be issued in 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">A total of 18,419 stock grant rights were earned as of December&#160;31, 2021 based upon the Company&#8217;s actual financial performance relative to the cumulative financial performance targets for the <span style="-sec-ix-hidden:Hidden_fz6kqljD4UmKUrGC033RsQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span>-year period ended December 31, 2021. The shares associated with these grants were issued in 2022<span style="color:#00b050;">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Non-Executive Directors&#8217; Share Plan</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">This stock grant plan provides part of the Directors&#8217; remuneration. Under this plan, non-Executive Directors receive a combination of cash and common stock for their participation in Board meetings. The number of shares of common stock granted is calculated based upon the market price of the Company&#8217;s common stock on October&#160;1 of the&#160;year preceding the grant. Common stock granted under this plan during the&#160;years ended December&#160;31, 2022 and 2021 totaled 30,767 and 30,911 shares, respectively. The Company recognized stock-based compensation for these share grants of $369,678 and $319,002 for the&#160;years ended December&#160;31, 2022 and 2021, respectively.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI https://asc.fasb.org/topic&amp;trid=2228938<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>38
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203052501600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Retirement benefits<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_CompensationAndRetirementDisclosureAbstract', window );"><strong>Retirement benefits</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock', window );">Retirement benefits</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">17. Retirement benefits</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Retirement plans are offered to all employees in California, Florida, the Cayman Islands and The Bahamas. The plans are administered by third parties and are defined contribution plans pursuant to which the Company matches participating employees&#8217; contributions up to certain amounts. The Company matches contributions of up to 5% of a maximum salary amount of $104,400 for Cayman Islands employees, fully matches all contributions made by employees in The Bahamas, and matches contributions of up to&#160;6% of salary for Florida employees. For California employees, the Company matches contribution amounts up to 2% of the employee's salary and matches 25% of contributions above this 2% threshold, up to 10% of the employee&#8217;s salary. The Company&#8217;s expense for these plans was $624,798 and $584,278 for the years ended December 31, 2022 and 2021, respectively<span style="color:#00b050;">.</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_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for retirement benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4179-114921<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section S99<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=21916913&amp;loc=d3e273930-122802<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (o)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (p)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 70<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=49170846&amp;loc=d3e28014-114942<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -URI https://asc.fasb.org/topic&amp;trid=2235017<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 60<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=6414203&amp;loc=d3e39689-114964<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (q)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (l)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203052480304">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Financial instruments<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_InvestmentsAllOtherInvestmentsAbstract', window );"><strong>Financial instruments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentsDisclosureTextBlock', window );">Financial instruments</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">18. Financial instruments</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Credit risk:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company is not exposed to significant credit risk on its retail customer accounts as its policy is to cease supply of water to customers&#8217; accounts that are more than <span style="-sec-ix-hidden:Hidden_OHWW8FktBkWbXDZJp9x7Wg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">45&#160;days</span></span> overdue. The Company&#8217;s exposure to credit risk is concentrated </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">on receivables from its bulk water, services, and manufacturing customers. The Company considers these receivables fully collectible and therefore has not recorded an allowance for these receivables.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Interest rate risk:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company is not subject to significant interest rate risk arising from fluctuations in interest rates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Foreign exchange risk:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">All relevant foreign currencies other than the Mexican peso and the euro have been fixed to the dollar for more than <span style="-sec-ix-hidden:Hidden_Ceex_SV_NkSWydyqJQLXFg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">20&#160;years</span></span> and as a result, the Company does not employ a hedging strategy against exchange rate risk associated with the reporting in dollars. If any of these fixed exchange rates becomes a floating exchange rate or if any of the foreign currencies in which the Company conducts business depreciate significantly against the dollar, the Company&#8217;s consolidated results of operations could be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Fair values:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of December&#160;31, 2022 and 2021, the carrying amounts of cash equivalents, accounts receivable, accounts payable, accrued expenses, accrued compensation, dividends payable and other current liabilities approximate their fair values due to the short-term maturities of these instruments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Under US GAAP, fair value is defined as the exit price, or the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants as of the measurement date. US GAAP guidance also establishes a hierarchy for inputs used in measuring fair value that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that the most observable inputs be used when available. Observable inputs are inputs market participants would use in valuing the asset or liability and are developed based on market data obtained from sources independent of the Company. Unobservable inputs are inputs that reflect the Company&#8217;s assumptions about the factors market participants would use in valuing the asset or liability. The guidance establishes three levels of inputs that may be used to measure fair value:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-align:justify;text-indent:-36pt;margin:0pt 0pt 12pt 54pt;">Level 1&#160;- Quoted prices in active markets for identical assets or liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-align:justify;text-indent:-36pt;margin:0pt 0pt 12pt 54pt;">Level 2&#160;- Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-align:justify;text-indent:-36pt;margin:0pt 0pt 12pt 54pt;">Level 3&#160;- Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Assets and liabilities are classified in their entirety based on the lowest level of input that is significant to the fair value measurements. The Company reviews its fair value hierarchy classifications on a quarterly basis. Changes in the observability of valuation inputs may result in a reclassification of levels for certain securities within the fair value hierarchy.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The following table presents the Company&#8217;s fair value hierarchy for assets and liabilities measured at fair value as of December&#160;31, 2022 and 2021:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:53.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:53.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:45.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level&#160;1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level&#160;2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level&#160;3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:top;width:53.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Assets:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:53.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Recurring</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:53.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Certificate of deposit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:53.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Net asset arising from put/call options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:53.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:53.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:45.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level&#160;1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level&#160;2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level&#160;3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:top;width:53.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Assets:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:53.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Recurring</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:53.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Certificate of deposit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,500,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,500,000</p></td></tr><tr><td style="vertical-align:top;width:53.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Net asset arising from put/call options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 128,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 128,000</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The activity for the Level 3 asset for the&#160;year ended December&#160;31, 2022:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net asset arising from put/call options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance as of December&#160;31,&#160;2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 128,000</p></td></tr><tr><td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercise of option</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (128,000)</p></td></tr><tr><td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance as of December&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The put/call options are reported at fair value at their net asset or liability balance in the consolidated balance sheets. The underlying asset and liability fair values are calculated using discounted cash flow analysis valuation techniques that incorporate unobservable inputs, such as future cash flows, weighted-average cost of capital, and expected future volatility. The inputs to these valuations are considered Level 3 inputs.</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_FinancialInstrumentsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 financial instruments. This disclosure includes, but is not limited to, fair value measurements of short and long term marketable securities, international currencies forward contracts, and auction rate securities. Financial instruments may include hedging and non-hedging currency exchange instruments, derivatives, securitizations and securities available for sale at fair value. Also included are investment results, realized and unrealized gains and losses as well as impairments and risk management disclosures.</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_FinancialInstrumentsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_InvestmentsAllOtherInvestmentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_InvestmentsAllOtherInvestmentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>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.1</span><table class="report" border="0" cellspacing="2" id="idm140203052417888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Contingencies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and contingencies.</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Contingencies</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">19. Commitments and contingencies</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Commitments</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company has entered into employment agreements with certain executives, which expire through December&#160;31, 2025 and provide for, among other things, base annual salaries in an aggregate amount of approximately $4.2 million, performance bonuses and various employee benefits.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company has purchase obligations totaling approximately $41.7 million through December 31, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;padding-bottom:12pt;text-align:justify;margin:0pt;">Contingencies</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;background:#ffffff;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Cayman Water</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company sells water through its retail operations under a license issued in July 1990 by the Cayman Islands government (the &#8220;1990 license&#8221;) that granted Cayman Water the exclusive right to provide potable water to customers within its licensed service area. Although the 1990 license was not expressly extended after January 2018, the Company continues to supply water under the terms of the 1990 license, as discussed in the following paragraphs. Pursuant to the 1990 license, Cayman Water has the exclusive right to produce potable water and distribute it by pipeline to its licensed service area, which consists of two of the three most populated areas of Grand Cayman Island: Seven Mile Beach and West Bay. In 2022 and 2021, the Company generated approximately 27% and 33%, respectively, of its consolidated revenue and 44% and 47%, respectively, of its consolidated gross profit from the retail water operations conducted under the 1990 license.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The 1990 license was originally scheduled to expire in July 2010 but was extended several times by the Cayman Islands government in order to provide the parties with additional time to negotiate the terms of a new license agreement. The most recent express extension of the 1990 license expired on January 31, 2018. The Company continues to operate under the terms of the 1990 license, providing water services to the level and quality specified in the 1990 license and in accordance with its understanding of its legal obligations, treating those obligations set forth in the 1990 license as operative notwithstanding the expiration of the express extension. The Company continues to pay the royalty of 7.5% of revenue it collects required under the 1990 license.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In October&#160;2016, the Government of the Cayman Islands passed legislation which created a new utilities regulation and competition office (&#8220;OfReg&#8221;). OfReg is an independent and accountable regulatory body with a view of protecting the rights of consumers, encouraging affordable utility services and promoting competition. OfReg, which began operations in January&#160;2017, has the ability to supervise, monitor and regulate multiple utility undertakings and markets. Supplemental legislation was passed by the Government of the Cayman Islands in April&#160;2017, which transferred responsibility for economic regulation of the water utility sector and the negotiations with the Company for a new retail license from the WAC to OfReg in May&#160;2017. The Company began license negotiations with OfReg in July&#160;2017 and such negotiations are ongoing. The Company has been informed during its retail license negotiations, both by OfReg and its predecessor in these negotiations, that the Cayman Islands government seeks to restructure the terms of its license in a manner that could significantly reduce the operating income and cash flows the Company has historically generated from its retail license.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company is presently unable to determine what impact the resolution of its retail license negotiations will have on its consolidated financial condition or results of operations but such resolution could result in a material reduction (or the loss) of the operating income and cash flows the Company has historically generated from Cayman Water&#8217;s retail operations and could require the Company to record impairment losses to reduce the carrying values of its retail segment assets. Such impairment losses could have a material adverse impact on the Company&#8217;s consolidated financial condition and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="text-decoration-line:underline;text-decoration-style:solid;">CW-Bahamas</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">CW-Bahamas&#8217; accounts receivable balances (which include accrued interest) due from the WSC amounted to $16.3 million and $21.5 million as of December 31, 2022 and 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">From time to time, CW-Bahamas has experienced delays in collecting its accounts receivable from the WSC. When these delays occur, the Company holds discussions and meetings with representatives of the WSC and The Bahamas government, and as a result, payment schedules are developed for WSC&#8217;s delinquent accounts receivable. All previous delinquent accounts receivable from the WSC, including accrued interest thereon, were eventually paid in full. Based upon this payment history, CW-Bahamas has never been required to provide an allowance for doubtful accounts for any of its accounts receivable, despite the periodic accumulation of significant delinquent balances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In February 2022, CW-Bahamas received correspondence from the Ministry of Finance of the Government of The Bahamas that stated that the Government intends to return all of CW-Bahamas&#8217; accounts receivable from the WSC to current status.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In its latest report dated October 6, 2022, Moody&#8217;s Investor Services (&#8220;Moody&#8217;s&#8221;) downgraded the Government of The Bahamas&#8217; long-term issuer and senior unsecured ratings to B1 from Ba3. Moody&#8217;s also lowered The Bahamas&#8217; local currency ceiling to Baa3 from Baa2 and its foreign currency ceiling to Ba1 from Baa3. Based upon its review of this Moody&#8217;s report, the Company continues to believe no allowance for doubtful accounts is required for CW-Bahamas&#8217; accounts receivable from the WSC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:normal;">If CW-Bahamas continues to be unable to collect a significant portion of its delinquent accounts receivable, one or more of the following events may occur: (i)&#160;CW-Bahamas may not have sufficient liquidity to meet its obligations; (ii)&#160;the Company may be required to cease the recognition of revenue on CW-Bahamas&#8217; water supply agreements with the WSC; and (iii)&#160;the Company may be required to provide an allowance for doubtful accounts for CW-Bahamas&#8217; accounts receivable. Any of these events could have a material adverse impact on the Company&#8217;s consolidated financial condition, results of operations, and cash flows.</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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI https://asc.fasb.org/topic&amp;trid=2144648<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 440<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6491277&amp;loc=d3e6429-115629<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI https://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>41
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203053308512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related party transactions<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_RelatedPartyTransactionsAbstract', window );"><strong>Related party transactions</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock', window );">Related party transactions</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">20. Related party transactions</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company, through PERC and the services segment, purchases engineering and technology support services from various companies with a minority shareholder who is also a minority shareholder of PERC. During the years ended December 31, 2022 and 2021, the Company made total purchases of services of approximately $2,695,000 and $438,000 from these companies, respectively. These total purchases are included in the Company&#8217;s cost of revenue in the accompanying consolidated statements of <span style="background:#ffffff;">income</span>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">PERC has entered into a lease agreement with one of these related companies that commenced on March 14, 2021 and ended August 31, 2021. This lease has been extended on a month-to-month basis subsequent to August 31, 2021. During the years ended December 31, 2022 and 2021, the Company recognized approximately $97,000 and $77,000 of expense related to this lease, respectively. This lease expense is included in the Company's general and administrative expenses in the accompanying consolidated statements of income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The total amount of accounts payable outstanding to these companies as of December 31, 2022 and 2021, was approximately $404,000 and $164,000, respectively.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -URI https://asc.fasb.org/topic&amp;trid=2122745<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39691-107864<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203052501600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Supplemental disclosure of cash flow information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_SupplementalCashFlowElementsAbstract', window );"><strong>Supplemental disclosure of cash flow information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashFlowSupplementalDisclosuresTextBlock', window );">Supplemental disclosure of cash flow information</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;">21. Supplemental disclosure of cash flow information</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Interest paid in cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,797</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,248</p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income taxes paid in cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 211,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 160,000</p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Non-cash transactions:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Issuance of 9,295 and 8,632, respectively, shares of redeemable preferred stock for services rendered</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 133,197</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 102,203</p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Issuance of 72,597 and 88,488, respectively, shares of common stock for services rendered</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 521,016</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 745,468</p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Conversion (on a one-to-one basis) of 6,585 and 11,522, respectively, shares of redeemable preferred stock to common stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,951</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,913</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Dividends declared but not paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,305,367</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,298,148</p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Transfers from inventory to property, plant and equipment and construction in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 346,024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 189,924</p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Transfers from construction in progress to property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 297,723</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 644,224</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Right-of-use assets obtained in exchange for new operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,852,608</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Purchase of equipment through issuance of long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 188,645</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 95,707</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">&#8203;</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_CashFlowSupplementalDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for supplemental cash flow activities, including cash, noncash, and part noncash transactions, for the period. Noncash is defined as information about all investing and financing activities of an enterprise during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. "Part noncash" refers to that portion of the transaction not resulting in cash receipts or cash payments in 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -URI https://asc.fasb.org/topic&amp;trid=2134446<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashFlowSupplementalDisclosuresTextBlock</td>
</tr>
<tr>
<td style="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_SupplementalCashFlowElementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowElementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203052347120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Impact of recent accounting standards<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract', window );"><strong>Impact of recent accounting standards</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_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock', window );">Impact of recent accounting standards</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">22. Impact of recent accounting standards</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Adoption of new accounting standards:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">None.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Effect of newly issued but not yet effective accounting standards:</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">None.</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_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract</td>
</tr>
<tr>
<td style="padding-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_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -URI https://asc.fasb.org/topic&amp;trid=2122394<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126986314&amp;loc=SL124402458-218513<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126986314&amp;loc=SL124402458-218513<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(iv)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 11.M.Q2)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038215&amp;loc=d3e31137-122693<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (e)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL122150809-237846<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section S99<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=122038215&amp;loc=SL108384541-122693<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 10<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128293352&amp;loc=SL126838806-209984<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983955&amp;loc=SL121967933-165497<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL126732908-238011<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 10<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (f)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128293352&amp;loc=SL126838806-209984<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL126732908-238011<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983955&amp;loc=SL121967933-165497<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL126732908-238011<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=120154821&amp;loc=SL120154904-197079<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=120154821&amp;loc=SL120154904-197079<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=120154821&amp;loc=SL120154904-197079<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983955&amp;loc=SL121967933-165497<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL125981372-237846<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>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.1</span><table class="report" border="0" cellspacing="2" id="idm140203053336912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent events<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_SubsequentEventsAbstract', window );"><strong>Subsequent events</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_SubsequentEventsTextBlock', window );">Subsequent events</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">23. Subsequent events</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company evaluated subsequent events through the time of the filing of its Annual Report on Form&#160;10-K. Other than as disclosed in these consolidated financial statements, the Company is not aware of any significant events that occurred subsequent to the balance sheet date but prior to the filing of this report that would have a material impact on its consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">On January 4, 2023, as a result of CW-Holdings' exercise of a call option in October 2022, CW-Holdings purchased the remaining&#160;</span><span style="background:#ffffff;">39%</span><span style="background:#ffffff;"> ownership interest in PERC for </span><span style="background:#ffffff;">$2.4</span><span style="background:#ffffff;"> million&#160;in cash and </span><span style="background:#ffffff;">368,383</span><span style="background:#ffffff;"> shares of the Company&#8217;s common stock. After giving effect to this purchase, CW-Holdings owns&#160;</span><span style="background:#ffffff;">100%</span><span style="background:#ffffff;"> of the outstanding capital stock of PERC.</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_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-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_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -URI https://asc.fasb.org/topic&amp;trid=2122774<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6842918&amp;loc=SL6314017-165662<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="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>45
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203144415264">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounting policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_AccountingPoliciesAbstract', window );"><strong>Accounting policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of preparation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Basis of preparation:</b> The consolidated financial statements presented are prepared in accordance with the accounting principles generally accepted in the United States of America.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of estimates</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Use of estimates:</b> The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenue and expenses during the reporting period. Significant items subject to estimates and assumptions include the carrying value of property, plant and equipment, intangible assets, goodwill and revenue recognition on construction and manufacturing contracts. Actual results could differ significantly from such estimates.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationPolicyTextBlock', window );">Basis of consolidation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Basis of consolidation:</b> The accompanying consolidated financial statements include the accounts of the Company&#8217;s (i)&#160;wholly-owned subsidiaries, Aerex Industries,&#160;Inc. (&#8220;Aerex&#8221;), Aquilex,&#160;Inc. (&#8220;Aquilex&#8221;), Cayman Water Company Limited (&#8220;Cayman Water&#8221;), Ocean Conversion (Cayman) Limited (&#8220;OC-Cayman&#8221;), DesalCo Limited (&#8220;DesalCo&#8221;), Consolidated Water Cooperatief, U.A. (&#8220;CW-Cooperatief&#8221;), Consolidated Water U.S. Holdings,&#160;Inc. (&#8220;CW-Holdings&#8221;); and (ii)&#160;majority-owned subsidiaries Consolidated Water (Bahamas)&#160;Ltd. (&#8220;CW-Bahamas&#8221;), N.S.C. Agua, S.A. de C.V. (&#8220;NSC&#8221;), Aguas de Rosarito S.A.P.I. de C.V. (&#8220;AdR&#8221;), and PERC Water Corporation ("PERC"). The Company&#8217;s investment in its affiliate Ocean Conversion (BVI)&#160;Ltd. (&#8220;OC-BVI&#8221;) is accounted for using the equity method of accounting. All significant intercompany balances and transactions have been eliminated in consolidation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">On January 4, 2023, as a result of CW-Holdings' exercise of a call option in October 2022, CW-Holdings purchased the remaining&#160;</span><span style="background:#ffffff;">39%</span><span style="background:#ffffff;"> ownership interest in PERC for </span><span style="background:#ffffff;">$2.4</span><span style="background:#ffffff;"> million&#160;in cash and </span><span style="background:#ffffff;">368,383</span><span style="background:#ffffff;"> shares of the Company&#8217;s common stock. After giving effect to this purchase, CW-Holdings owns&#160;</span><span style="background:#ffffff;">100%</span><span style="background:#ffffff;"> of the outstanding capital stock of PERC.</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock', window );">Foreign currency</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Foreign currency:</b>&#160;The Company&#8217;s reporting currency is the United States dollar (&#8220;US$&#8221;). The functional currency of the Company and its foreign operating subsidiaries (other than NSC, AdR and CW-Cooperatief) is the currency for each respective country. The functional currency for NSC, AdR and CW-Cooperatief is the US$. NSC and AdR conduct business in US$ and Mexican pesos and CW-Cooperatief conducts business in US$ and euros. The exchange rates for the Cayman Islands dollar and the Bahamian dollar are fixed to the US$. The exchange rates for conversion of Mexican pesos and euros into US$ vary based upon market conditions. Net foreign currency gains arising from transactions and re-measurements were $41,750 and $32,594 for the&#160;years ended December&#160;31, 2022 and 2021, respectively, and are included in &#8220;Other income (expense)&#160;- Other&#8221; in the accompanying consolidated statements of income.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and cash equivalents</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Cash and cash equivalents:</b> Cash and cash equivalents consist of demand deposits at banks and certificates of deposit at banks with an original maturity of three&#160;months or less. Cash and cash equivalents as of December&#160;31, 2022 and 2021 </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">include $5.0 million and $7.4 million, respectively, of certificates of deposit with an original maturity of three&#160;months or less.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of December&#160;31, 2022, the Company had deposits in U.S. banks in excess of federally insured limits of approximately $12.5 million. As of December&#160;31, 2022, the Company held cash in foreign bank accounts of approximately $36.6 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Certain transfers from the Company&#8217;s Bahamas bank accounts to Company bank accounts in other countries require the approval of the Central Bank of The Bahamas. The equivalent United States dollar cash balances for deposits held in The Bahamas as of December&#160;31, 2022 and 2021 were approximately $5.7 million and $3.9 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Certificate of deposit:</b> As of December 31, 2022 and 2021, the Company held a certificate of deposit in The Bahamas with an original maturity of six months in the amount of zero and $2.5 million, respectively.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TradeAndOtherAccountsReceivablePolicy', window );">Accounts receivable and allowance for doubtful accounts</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Accounts receivable and allowance for doubtful accounts:</b> Accounts receivable are recorded at invoiced amounts based on meter readings, contractual amounts, fixed fees plus reimbursables or time and materials per contractual agreements. <span style="background:#ffffff;">Trade accounts receivable also represent our unconditional right, subject only to the passage of time, to receive consideration arising from our performance under contracts with customers. Trade accounts receivable include amounts billed and billable on construction contracts, service and maintenance contracts and contracts for the sale of goods. Billed contract receivables have been invoiced to customers based on contracted amounts. </span>The allowance for doubtful accounts is the Company&#8217;s best estimate of the amount of probable credit losses in the Company&#8217;s existing accounts receivable balance. The Company determines the allowance for doubtful accounts based on historical write-off experience and&#160;monthly review of delinquent accounts. Past due balances are reviewed individually for collectability. Account balances are charged off against the allowance for doubtful accounts after all means of collection have been exhausted and the potential for recovery is considered by management to be remote.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventory</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Inventory:</b> Inventory primarily consists of raw materials purchased for specific manufacturing contracts that are valued at cost on the first-in, first-out basis. Inventory also includes (i) consumables stock and spare parts stock that are valued at cost, less an allowance for obsolescence, with cost determined on the first-in, first-out basis; and (ii) potable water held in the Company&#8217;s reservoirs that is valued at the lower of the average cost of producing water during the&#160;year or its net realizable value.</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_RevenueFromContractWithCustomerPolicyTextBlock', window );">Contract assets and liabilities</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;background:#ffffff;">Contract assets and liabilities:</b><span style="background:#ffffff;"> Billing practices for the Company&#8217;s contracts are governed by the contract terms of each project based upon costs incurred, achievement of milestones or predetermined schedules. Billings do not necessarily correlate with revenue, which is recognized over time using the direct inputs method of accounting. </span>The Company records contract assets and contract liabilities to account for these differences in timing.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:12.0pt;text-align:justify;margin:0pt;">Contract assets, which include costs and estimated earnings in excess of billings on uncompleted contracts, arise when the Company recognizes revenue for services performed under its construction and manufacturing contracts, but the Company is not yet entitled to bill the customer under the terms of the contract. Contract liabilities, which include billings in excess of costs and estimated earnings on uncompleted contracts, represent the Company's obligation to transfer goods or services to a customer for which the Company has been paid by the customer or for which the Company has billed the customer under the terms of the contract. Revenue for future services reflected in this account is recognized, and the liability is reduced, as the Company subsequently satisfies the performance obligation under the contract.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:12.0pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Costs and estimated earnings in excess of billings on uncompleted contracts and billings in excess of costs and estimated earnings on uncompleted contracts are typically resolved within one year and are not <span style="background:#ffffff;">considered</span> significant financing components.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The Company considers retention that is withheld on progress billings as not creating an unconditional right to payment until contractual milestones are reached (typically substantial completion). Accordingly, withheld retention is considered a component of contracts assets and liabilities until finally billed to the customer, when obligations have been satisfied and the right to receipt is subject only to the passage of time.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The Company&#8217;s contract assets and liabilities are reported in a net asset or liability position on a contract-by-contract basis at the end of each reporting period. The Company classifies contract assets and liabilities related to construction and manufacturing contracts in current assets and current liabilities as they will be liquidated in the normal course of contract completion, although this may require more than one year.</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property, plant and equipment, net</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Property, plant and equipment, net:</b> Property, plant and equipment is stated at cost less accumulated depreciation. Depreciation is calculated using a straight-line method with an allowance for estimated residual values. Rates are determined based on the estimated useful lives of the assets as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Buildings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">5 to 40 years</p></td></tr><tr><td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">4 to 40 years</p></td></tr><tr><td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Distribution system</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">3 to 40 years</p></td></tr><tr><td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Office furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">3 to 10 years</p></td></tr><tr><td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vehicles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">3 to 10 years</p></td></tr><tr><td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Shorter of 5 years or lease term</p></td></tr><tr><td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Lab equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">5 to 10 years</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Assets under construction are recorded as additions to property, plant and equipment upon completion of the projects. Depreciation commences in the&#160;month the asset is placed in service. Additions to construction in progress are comprised of the cost of the contracted services, direct labor and materials.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Interest costs directly attributable to the acquisition and construction of qualifying assets, which are assets that necessarily take a substantial amount of time to be ready for their intended use, are added to the cost of those assets until such time as the assets are substantially ready for use. No interest was capitalized during the years ended December 31, 2022 or 2021.</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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">Long-lived assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Long-lived assets:</b> Long-lived assets are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of the assets might not be recoverable. Conditions that would necessitate an impairment assessment include a significant decline in the observable market value of an asset, a significant change in the extent or manner in which an asset is used, or a significant adverse change that would indicate that the carrying amount of an asset or group of assets is not recoverable. For long-lived assets to be held and used, the Company recognizes an impairment loss only if their carrying amounts are not recoverable through their undiscounted cash flows and measures the impairment loss based on the difference between the carrying amounts and estimated fair values.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock', window );">Goodwill and intangible assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Goodwill and intangible assets:</b> Goodwill represents the excess cost of an acquired business over the fair value of the assets and liabilities of the acquired business. Goodwill and intangible assets acquired in a business combination and determined to have an indefinite useful life are not amortized but are tested for impairment annually or upon the identification of a triggering event. Intangible assets with estimable useful lives are amortized over their respective estimated useful lives to their estimated residual values and reviewed periodically for impairment. The Company evaluates the possible impairment of goodwill annually as part of its reporting process for the fourth quarter of each fiscal&#160;year. Management identifies the Company&#8217;s reporting units for goodwill impairment testing purposes, which consist of Cayman Water, the bulk segment (which is comprised of CW-Bahamas and OC-Cayman), PERC, and the manufacturing segment (i.e., Aerex), and determines the carrying value of each reporting unit by assigning the assets and liabilities, including the existing goodwill and intangible assets, to those reporting units. The Company determines the fair value of each reporting unit and compares these fair value to the carrying amount of the reporting units. To the extent the carrying amount of the reporting unit exceeds the fair value of the reporting unit, an impairment loss is recorded.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">For the&#160;year ended December&#160;31, 2021, the Company estimated the fair value of its reporting units by applying the discounted cash flow method, which relied upon seven-year discrete projections of operating results, working capital and capital expenditures, along with a terminal value subsequent to the discrete period. These seven-year projections were based upon historical and anticipated future results, general economic and market conditions, and considered the impact of planned business and operational strategies. The discount rates for the calculations represented the estimated cost of capital for market participants at the time of each analysis.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company also estimated the fair value of each of its reporting units for the year ended December 31, 2021 by applying the guideline public company method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company weighted the fair values estimated for each of its reporting units under each method and summed such weighted fair values to estimate the overall fair value for each reporting unit. The respective weightings the Company applied to each method for the year ended December&#160;31, 2021 were 80% to the discounted cash flow method and 20% to the guideline public company method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-style:italic;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The fair values the Company estimated for its Cayman Water, bulk segment, PERC, and manufacturing segment reporting units exceeded their carrying amounts by 32%, 51%, 15% and 15% respectively, as of December 31, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">For the year ended December 31, 2022, the Company elected to assess qualitative factors to determine whether it was necessary to perform the quantitative goodwill impairment testing conducted in prior years for all goodwill reporting units other than the manufacturing reporting unit. The Company assessed relevant events and circumstances to evaluate whether it is more likely than not that the fair values of such reporting units are less than their carrying values. The events and circumstances assessed for each unit included macroeconomic conditions, industry and market conditions, cost factors, overall financial performance, and other relevant events. Based upon this qualitative assessment the Company determined that it was more likely than not that the fair values of its Cayman Water and bulk segment reporting units exceeded their carrying values as of December 31, 2022. Based upon the Company&#8217;s negotiated, arms-length purchase of the remaining 39% equity interest in PERC from its minority shareholders for $7.8 million in January 2023, the fair value of the Company&#8217;s PERC reporting unit exceeded its carrying value by 79% as of December 31, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Due to the factors discussed in the following paragraphs, the Company elected to test the goodwill associated with its manufacturing reporting unit for possible impairment using the quantitative tests applied in prior years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In connection with its acquisition of Aerex in 2016, the Company recorded goodwill of $8,035,211. Aerex&#8217;s actual results of operations for 2016 fell significantly short of the projected results that were included in the cash flow projections the Company utilized to determine the purchase price for Aerex and the fair values of its assets and liabilities. Due to this shortfall in Aerex&#8217;s results of operations, the Company tested its manufacturing reporting unit&#8217;s goodwill for possible impairment and recorded an impairment loss of $1,750,000 in 2016. As part of its annual impairment testing of goodwill performed during the fourth quarter, in 2017 the Company updated its projections for Aerex&#8217;s future cash flows, determined that the carrying value of its manufacturing reporting unit exceeded its fair value, and recorded an impairment loss of $1,400,000 for December&#160;31, 2017 to further reduce the carrying value of the manufacturing segment goodwill to $4,885,211.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">&#8203;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">Approximately 80% of Aerex&#8217;s revenue, and 89% of Aerex&#8217;s gross profit, for the year ended December 31,&#160;2020 were generated from sales to one customer. While Aerex sells various products to this customer, Aerex&#8217;s revenue from this customer has historically been derived primarily from one specialized product. In October 2020, this customer informed Aerex that, for inventory management purposes, it was suspending its purchases of the specialized product from Aerex following 2020 for a period of approximately one year. This customer informed Aerex at that time that it expected to recommence its purchases of the specialized product from Aerex beginning with the first quarter of 2022. As a result of this anticipated loss of revenue for Aerex, the Company updated its projections for its Manufacturing reporting unit&#8217;s future cash flows. Such projections assumed, in part, that Aerex&#8217;s major customer would recommence its purchases from Aerex in 2022 but at a reduced aggregate amount, as compared to 2020. Based upon these updated projections, the Company tested its manufacturing reporting unit&#8217;s goodwill for possible impairment as of December 31, 2020 using the discounted cash flow and guideline public company methods, with a weighting of 80% and 20% applied to these two methods, respectively. As a result of these impairment tests, the Company determined that the estimated fair value of its manufacturing reporting unit exceeded its carrying value by approximately 31% as of December 31, 2020.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In late July 2021, this former major customer communicated to Aerex that it expected to recommence its purchases of the specialized product from Aerex in 2022 and subsequent years, but informed Aerex that such purchases would be at substantially reduced annual amounts, as compared to the amounts it had purchased from Aerex in 2020 and prior years. The Company&#8217;s updated sales estimate for this customer based on this new information was substantially below the anticipated sales to this customer for 2022 and subsequent years that the Company used in the discounted cash flow </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">projections it prepared for purposes of testing its Manufacturing reporting unit&#8217;s goodwill for possible impairment as of December 31, 2020. Furthermore, Aerex&#8217;s efforts to replace the revenue previously generated from this customer with revenue from existing and new customers were adversely impacted by the negative economic conditions (caused in part by the COVID-19 pandemic). These negative economic conditions also increased Aerex&#8217;s raw material costs, resulted in raw material shortages and extended delivery times for such materials, and adversely affected the overall financial condition of Aerex&#8217;s current and prospective customers. Accordingly, in light of this new information from Aerex&#8217;s former major customer, and the on-going weak economic conditions that the Company believed would continue through 2022, the Company updated its projections of future cash flows for the manufacturing reporting unit and tested its goodwill for possible impairment as of June 30, 2021 using the discounted cash flow and guideline public company methods, with a weighting of 80% and 20% applied to these two methods, respectively. Based upon this testing, the Company determined that the carrying value of its manufacturing reporting unit exceeded its fair value by $2.9 million, and the Company recorded an impairment loss to reduce its manufacturing segment&#8217;s goodwill by this amount for the three months ended June 30, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">For the year ended December&#160;31, 2022, the Company estimated the fair value of its manufacturing reporting unit by applying the discounted cash flow method, which relied upon seven-year discrete projections of operating results, working capital and capital expenditures, along with a terminal value subsequent to the discrete period. These seven-year projections were based upon historical and anticipated future results, general economic and market conditions, and considered the impact of planned business and operational strategies. The discount rates for the calculations represented the estimated cost of capital for market participants at the time of each analysis. The Company also estimated the fair value of its manufacturing reporting unit for the year ended December 31, 2022 by applying the guideline public company method. The Company weighted the fair values estimated for its manufacturing reporting unit under each method and summed such weighted fair values to estimate the overall fair value for the reporting unit. The respective weightings the Company applied to each method for the year ended December&#160;31, 2022 were 80% to the discounted cash flow method and 20% to the guideline public company method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The fair value the Company estimated for its manufacturing reporting unit exceeded its carrying amount by 63% as of December&#160;31, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company believes the inherent uncertainties associated with the accounting estimates and assumptions it uses for its estimates of its manufacturing reporting unit&#8217;s fair value have increased due to the current, less predictable economic conditions, which have resulted in increasing raw material prices, extended and unexpected delays in the procurement and delivery of its raw materials, and have also, the Company believes, adversely affected its customers. Should interest rates rise significantly in the future the Company would likely be required to increase the discount rate it uses under the discounted cash flow method to estimate the fair value of this reporting unit, and such increased discount rate in and of itself could decrease the estimated fair value of the manufacturing reporting unit under the discounted cash flow method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">As noted previously, based upon its estimation prepared as of December 31, 2022, the fair value of the Company&#8217;s manufacturing reporting unit exceeded its carrying value by 63%. However, if the Company determines in the future that Aerex&#8217;s discounted future cash inflows will be less than its present expectations, the Company may be required to record additional impairment losses to reduce the remaining carrying values of its manufacturing segment&#8217;s goodwill and its remaining unamortized intangible assets balances, which amounted to $1,985,211 and $754,444, respectively, as of December 31, 2022. Any such impairment losses could have a material adverse impact on the Company&#8217;s consolidated results of operations.</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_InvestmentPolicyTextBlock', window );">Investments</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Investments:</b> Investments where the Company does not exercise significant influence over the operating and financial policies of the investee and holds less than 20% of the voting stock are recorded at cost. The Company uses the equity method of accounting for investments in common stock where the Company holds 20% to 50% of the voting stock of the investee and has significant influence over its operating and financial policies but does not meet the criteria for consolidation. The Company recognizes impairment losses on declines in the fair value of the stock of investees that are other than temporary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_OtherAssetsPolicyTextBlock', window );">Other assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Other assets:</b> Under the terms of CW-Bahamas&#8217; contract with the Water and Sewerage Corporation of The Bahamas (&#8220;WSC&#8221;) to supply water from its Blue Hills desalination plant, CW-Bahamas was required to reduce the amount of water </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">lost by the public water distribution system on New Providence Island, The Bahamas, over a one-year period by 438 million gallons, a requirement CW-Bahamas met during 2007. The Company was solely responsible for the engineering, labor and materials costs incurred to reduce the amount of lost water, which were capitalized and are being amortized on a straight-line basis over the original remaining life of the Blue Hills contract. Such costs are included in other assets and aggregated approximately $3.5 million as of December&#160;31, 2022 and 2021. Accumulated amortization for these costs was approximately $2.9 million and $2.7 million as of December&#160;31, 2022 and 2021, respectively. Amortization expense for these costs was $179,353 for the&#160;years ended December&#160;31, 2022 and 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income taxes</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Income taxes:</b> The Company accounts for the income taxes arising from the operations of its United States subsidiaries under the asset and liability method. Deferred tax assets and liabilities, if any, are recognized for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss and tax credit carryforwards. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the&#160;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 income in the period that includes the enactment date. A valuation allowance is provided to the extent any deferred tax asset may not be realized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company is not presently subject to income taxes in the other countries in which it operates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionPolicyTextBlock', window );">Revenue recognition</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Revenue recognition:</b> Revenue is recognized when control of the promised goods or services is transferred to the Company&#8217;s customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those goods or services.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The following table presents the Company&#8217;s revenue disaggregated by revenue source.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Retail revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25,954,013</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,104,953</p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Bulk revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 32,991,066</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,800,869</p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Services revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,835,428</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,884,857</p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Manufacturing revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,324,465</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,072,823</p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"><b style="font-weight:bold;">Total revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 94,104,972</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 66,863,502</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Retail revenue</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company produces and supplies water to end-users, including residential, commercial and governmental customers in the Cayman Islands under an exclusive retail license issued to Cayman Water by the Cayman Islands government to provide water in two of the three most populated areas on Grand Cayman Island. Customers are billed on a&#160;monthly basis based on metered consumption and bills are typically collected within 30 to <span style="-sec-ix-hidden:Hidden_Mq4RJyVkUUicibqvX6HN6A;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">45&#160;days</span></span> after the billing date. Receivables not collected within 45&#160;days subject the customer to disconnection from water service.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company recognizes revenue from water sales at the time water is supplied to the customer&#8217;s premises. The amount of water supplied is determined and invoiced based upon water meter readings performed at the end of each&#160;month. All retail water contracts are&#160;month-to-month contracts. The Company has elected the &#8220;right to invoice&#8221; practical expedient for revenue recognition on its retail water sale contracts and recognizes revenue in the amount to which the Company has a right to invoice.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Bulk revenue</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company produces and supplies water to government-owned utilities in the Cayman Islands and The Bahamas.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">OC-Cayman provides bulk water to the Water Authority-Cayman (&#8220;WAC&#8221;), a government-owned utility and regulatory agency, under two agreements. The WAC in turn distributes such water to properties in Grand Cayman outside of Cayman Water&#8217;s retail license area.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company sells bulk water in The Bahamas through its majority-owned subsidiary, CW-Bahamas, under two agreements with the WSC, which distributes such water through its own pipeline system to residential, commercial and tourist properties on the Island of New Providence.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company has elected the &#8220;right to invoice&#8221; practical expedient for revenue recognition on its bulk water sale contracts and recognizes revenue in the amount to which the Company has a right to invoice.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Services and Manufacturing revenue</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company provides design, engineering, management, procurement and construction services for desalination infrastructure through DesalCo, which serves customers in the Cayman Islands, The Bahamas and the British Virgin Islands.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company also designs, builds, sells, operates and manages water, wastewater and water reuse infrastructure through PERC. All of PERC's customers are companies or governmental entities located in the U.S.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company, through Aerex, is a custom and specialty manufacturer of systems and products applicable to commercial, municipal and industrial water production and treatment. Substantially all of Aerex&#8217;s customers are U.S. companies.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company generates construction and services revenue from DesalCo and PERC and generates manufacturing revenue from Aerex.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company recognizes <span style="background:#ffffff;">revenue for its construction and custom/specialized manufacturing contracts&#160;</span>over time under the input method using costs incurred (which represents work performed) to date relative to total estimated costs at completion to measure progress toward satisfying a contract&#8217;s performance obligations as such measure best reflects the transfer of control of the promised good to the customer. Contract costs include labor, materials and amounts payable to subcontractors. The Company follows this method since it can make reasonably dependable estimates of the revenue and costs applicable to the various stages of a contract. Under this input method, the Company records revenue and recognizes profit or loss as work on the contract progresses. The Company estimates total project costs and profit to be earned on each long-term, fixed price contract prior to commencement of work on the contract and updates these estimates as work on the contract progresses. The cumulative amount of revenue recorded on a contract at a specified point in time is that&#160;percentage of total estimated revenue that incurred costs to date comprise of estimated total contract costs. If, as work progresses, the actual contract costs exceed estimates, the profit recognized on revenue from that contract decreases. The Company recognizes the full amount of any estimated loss on a contract at the time the estimates indicate such a loss. Any contract assets are classified as current assets. Contract liabilities on uncompleted contracts, if any, are classified as current liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company has elected the &#8220;right to invoice&#8221; practical expedient for revenue recognition on its services agreements and recognizes revenue in the amount to which the Company has a right to invoice.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Practical Expedients and Exemptions</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company does not disclose the value of unsatisfied performance obligations for (i)&#160;contracts with an original expected length of one&#160;year or less and (ii)&#160;contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed.</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_PriorPeriodReclassificationAdjustmentDescription', window );">Comparative amounts</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Comparative amounts:</b> Certain amounts presented in the financial statements previously issued for 2021 have been reclassified to conform to the current&#160;year&#8217;s presentation.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_OtherAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 other 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;">cwco_OtherAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</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_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_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4273-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18823-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=d3e5614-111684<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -URI https://asc.fasb.org/topic&amp;trid=2175825<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock</td>
</tr>
<tr>
<td style="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_GoodwillAndIntangibleAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 05<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=109226317&amp;loc=d3e202-110218<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011434&amp;loc=d3e125687-122742<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e32247-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32847-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32840-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL116659661-227067<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e32280-109318<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4556-108314<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI https://asc.fasb.org/topic&amp;trid=2126998<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 330<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6471895&amp;loc=d3e55923-109411<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4492-108314<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126900757&amp;loc=d3e543-108305<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18823-107790<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for investment in financial asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(3)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PriorPeriodReclassificationAdjustmentDescription">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reclassification affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429488&amp;loc=d3e326-107755<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PriorPeriodReclassificationAdjustmentDescription</td>
</tr>
<tr>
<td style="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_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99779-112916<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99893-112916<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue from contract with customer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130561-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130566-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130563-203045<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI https://asc.fasb.org/topic&amp;trid=49130388<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130566-203045<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130563-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18823-107790<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130566-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130564-203045<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130566-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRecognitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.</p></div>
<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18823-107790<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18823-107790<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRecognitionPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TradeAndOtherAccountsReceivablePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e4975-111524<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5212-111524<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=SL6953423-111524<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5093-111524<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5033-111524<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=84159169&amp;loc=d3e10133-111534<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TradeAndOtherAccountsReceivablePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6191-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6161-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6143-108592<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6061-108592<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6132-108592<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203054671024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounting policies (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_AccountingPoliciesAbstract', window );"><strong>Accounting policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock', window );">Schedule of Estimated useful lives</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Buildings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">5 to 40 years</p></td></tr><tr><td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">4 to 40 years</p></td></tr><tr><td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Distribution system</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">3 to 40 years</p></td></tr><tr><td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Office furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">3 to 10 years</p></td></tr><tr><td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vehicles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">3 to 10 years</p></td></tr><tr><td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Shorter of 5 years or lease term</p></td></tr><tr><td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Lab equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">5 to 10 years</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Schedule of Disaggregation of revenue</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The following table presents the Company&#8217;s revenue disaggregated by revenue source.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Retail revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25,954,013</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,104,953</p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Bulk revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 32,991,066</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,800,869</p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Services revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,835,428</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,884,857</p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Manufacturing revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,324,465</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,072,823</p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"><b style="font-weight:bold;">Total revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 94,104,972</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 66,863,502</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</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_cwco_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 schedule of property plant and equipment useful life.</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;">cwco_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</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_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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203052570096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cash and cash equivalents (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_CashAndCashEquivalentsAbstract', window );"><strong>Cash and cash equivalents</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_ScheduleOfCashAndCashEquivalentsTableTextBlock', window );">Schedule of Cash and cash equivalents</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Bank accounts:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">United States dollar</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,573,161</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,891,277</p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Cayman Islands dollar</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,956,162</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,784,358</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Bahamian dollar</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,698,100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,944,208</p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 45,227,423</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 32,619,843</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Short term deposits:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">United States dollar</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,484,328</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,324,258</p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Cayman Islands dollar</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,413,958</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,484,328</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,738,216</p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 50,711,751</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40,358,059</p></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_CashAndCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CashAndCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfCashAndCashEquivalentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of cash and cash equivalents.</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_ScheduleOfCashAndCashEquivalentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>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.1</span><table class="report" border="0" cellspacing="2" id="idm140203054579088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounts receivable, net (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_ReceivablesAbstract', window );"><strong>Accounts receivable, net.</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_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock', window );">Schedule of Accounts receivable</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:72.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trade accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,163,719</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,311,188</p></td></tr><tr><td style="vertical-align:top;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Receivable from OC-BVI</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 37,293</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40,877</p></td></tr><tr><td style="vertical-align:top;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,384</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 180,262</p></td></tr><tr><td style="vertical-align:top;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,229,396</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,532,327</p></td></tr><tr><td style="vertical-align:top;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Allowance for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (183,214)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (183,020)</p></td></tr><tr><td style="vertical-align:top;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,046,182</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,349,307</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock', window );">Schedule of Allowance for doubtful accounts</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The activity for the allowance for doubtful accounts consisted of:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Opening allowance for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 183,020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 172,269</p></td></tr><tr><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Provision for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts written off during the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (726)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Recovery of accounts written off </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 920</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,751</p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Ending allowance for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 183,214</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 183,020</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</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_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allowance for credit loss on financing receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11B<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=SL6953423-111524<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock</td>
</tr>
<tr>
<td style="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_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.3,4)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>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.1</span><table class="report" border="0" cellspacing="2" id="idm140203052387200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventory (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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</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_ScheduleOfInventoryNoncurrentTableTextBlock', window );">Schedule of Inventory</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Water stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 36,655</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 34,587</p></td></tr><tr><td style="vertical-align:top;width:73.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Consumables stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 246,355</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 138,547</p></td></tr><tr><td style="vertical-align:top;width:73.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Spare parts stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,995,819</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,064,708</p></td></tr><tr><td style="vertical-align:top;width:73.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total inventory</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,278,829</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,237,842</p></td></tr><tr><td style="vertical-align:top;width:73.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,727,842</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,504,832</p></td></tr><tr><td style="vertical-align:top;width:73.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Inventory (non-current)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,550,987</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,733,010</p></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_ScheduleOfInventoryNoncurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 inventories not expected to be converted to cash, sold or exchanged within the normal operating cycle including inventoried costs relating to long-term contracts or programs.</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_ScheduleOfInventoryNoncurrentTableTextBlock</td>
</tr>
<tr>
<td style="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>50
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203046164064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Contracts in progress (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_RevenueFromContractWithCustomerAbstract', window );"><strong>Contracts in progress</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_cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock', window );">Summary of information relative to revenue recognized and amounts billed on contracts in progress</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Revenue recognized and amounts billed on contracts in progress are summarized as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:72.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized to date on contracts in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,469,014</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,109,396</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amounts billed to date on contracts in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (33,407,182)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,370,855)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Retainage</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,047,969</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 237,542</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net contract liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,890,199)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (23,917)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">The above net balances are reflected in the accompanying consolidated balance sheet as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,913,722</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 489,961</p></td></tr><tr><td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,803,921)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (513,878)</p></td></tr><tr><td style="vertical-align:bottom;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net contract liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,890,199)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (23,917)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;font-size:1pt;visibility:hidden;">&#8203;</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_cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for revenue recognized and amounts billed with regard to contracts with customers in progress.</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;">cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</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>51
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203052388432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property, plant and equipment and construction in progress (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, plant and equipment and construction in progress</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Schedule of Property, plant and equipment and construction in progress</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Land</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,488,400</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,316,537</p></td></tr><tr><td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Buildings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23,280,880</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23,255,925</p></td></tr><tr><td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 64,532,994</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 64,324,377</p></td></tr><tr><td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Distribution system</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 39,544,395</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 39,780,272</p></td></tr><tr><td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Office furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,109,546</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,051,814</p></td></tr><tr><td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vehicles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,525,576</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,079,874</p></td></tr><tr><td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 287,980</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 287,980</p></td></tr><tr><td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Lab equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,456</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,456</p></td></tr><tr><td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 139,782,227</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 136,109,235</p></td></tr><tr><td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 87,252,682</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 83,162,696</p></td></tr><tr><td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 52,529,545</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 52,946,539</p></td></tr><tr><td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Construction in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,705,681</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 710,863</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203052570096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Discontinued operations - Mexico project development (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DiscontinuedOperationsAndDisposalGroupsAbstract', window );"><strong>Discontinued operations - Mexico project development</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_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock', window );">Schedule of financial information for Mexico project development</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">Summarized financial information for the discontinued Mexico project development operation is as follows:</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 442,252</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 750,048</p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,675</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 75,826</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82,783</p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-size:10pt;">Value added taxes receivable </span>(net of allowance of $1,711,234 and $1,279,757, respectively)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 727</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 340,910</p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Land</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,126,898</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,126,898</p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,390</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,288</p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total assets of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,660,768</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,319,927</p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total liabilities of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 389,884</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 190,141</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;background:#ffffff;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Provision for uncollected value added taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 377,326</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 963,540</p></td></tr><tr><td style="vertical-align:bottom;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Loss from discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,371,049</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,574,079</p></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Depreciation expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,545</p></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_DiscontinuedOperationsAndDisposalGroupsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DiscontinuedOperationsAndDisposalGroupsAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 information related to a disposal group. Includes, but is not limited to, a discontinued operation, disposal classified as held-for-sale or disposed of by means other than sale or disposal of an individually significant component.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3A<br> -URI https://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=SL51724579-110230<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=d3e1474-107760<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5D<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721677-107760<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721533-107759<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3A<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721659-107760<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4B<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721665-107760<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721675-107760<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=d3e1361-107760<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5A<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721671-107760<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4A<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721663-107760<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>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.1</span><table class="report" border="0" cellspacing="2" id="idm140203053438688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Intangible assets</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_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Finite-Lived Intangible Assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cost</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 530,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 530,000</p></td></tr><tr><td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trade names</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,700,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,700,000</p></td></tr><tr><td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Facility management contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,200,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,200,000</p></td></tr><tr><td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,430,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,430,000</p></td></tr><tr><td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (530,000)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (493,889)</p></td></tr><tr><td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trade names</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (920,000)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (740,000)</p></td></tr><tr><td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Facility management contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,161,112)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (794,445)</p></td></tr><tr><td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,611,112)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,028,334)</p></td></tr><tr><td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Intangible assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,818,888</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,401,666</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Amortization of intangible assets for each of the next five&#160;years and thereafter is expected to be as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 546,667</p></td></tr><tr><td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 546,667</p></td></tr><tr><td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 485,554</p></td></tr><tr><td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 180,000</p></td></tr><tr><td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 180,000</p></td></tr><tr><td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 880,000</p></td></tr><tr><td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,818,888</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</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_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="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>54
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203050676672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_LeasesAbstract', window );"><strong>Leases</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_cwco_LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock', window );">Schedule of lease-related assets and liabilities</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The following table presents the lease-related assets and liabilities and their respective classification on the consolidated balance sheets:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">ASSETS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Current</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 35,624</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current assets of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,979</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,654</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Noncurrent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating lease right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,058,384</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,681,137</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Long-term assets of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16,898</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,101,987</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,700,689</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">LIABILITIES</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Current</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current maturities of operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 546,851</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 592,336</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current liabilities of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,361</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,195</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Noncurrent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Noncurrent operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,590,542</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,137,394</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Noncurrent liabilities of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,819</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,144,754</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,748,744</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Weighted average remaining lease term:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">6.6 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">7.0 years</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating leases - discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">0.8 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">1.6 years</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Weighted average discount rate:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">5.11%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">5.03%</p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating leases - discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">4.96%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">4.77%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseCostTableTextBlock', window );">Schedule of Lease, Cost</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The components of lease cost were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating lease costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 692,404</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 656,130</p></td></tr><tr><td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Short-term lease costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 100,975</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 79,606</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Lease costs - discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40,021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31,281</p></td></tr><tr><td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 833,400</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 767,017</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock', window );">Schedule of Cash Flow, Supplemental</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Supplemental cash flow information related to leases is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cash paid for amounts included in measurement of liabilities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating cash outflows for operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 742,696</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 710,024</p></td></tr><tr><td style="vertical-align:bottom;width:73.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating cash outflows for operating leases - discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,590</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 38,246</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of future lease payments relating to the Company's operating lease liabilities</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:84.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Years ending December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 643,233</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 390,630</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 268,056</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 227,542</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 229,416</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 778,460</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total future lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,537,337</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (399,944)</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,137,393</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: current obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (546,851)</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Noncurrent lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,590,542</p></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_cwco_LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lessee operating lease related assets and liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cwco_LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</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_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 supplemental cash flow information for the periods presented.</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_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock</td>
</tr>
<tr>
<td style="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>55
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203054667760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_IncomeTaxDisclosureAbstract', window );"><strong>Income taxes</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_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock', window );">Schedule of components of income before income taxes</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The components of income before income taxes for the years ended December 31, 2022 and 2021 are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:72.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign (not subject to income taxes)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,958,583</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,780,692</p></td></tr><tr><td style="vertical-align:top;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Mexico</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (987,279)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,767,915)</p></td></tr><tr><td style="vertical-align:top;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,394,642</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,952,265)</p></td></tr><tr><td style="vertical-align:top;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,365,946</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,060,512</p></td></tr><tr><td style="vertical-align:top;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,371,049</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,574,079</p></td></tr><tr><td style="vertical-align:top;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,736,995</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,634,591</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Schedule of provision for income taxes deferred tax benefit relating to U.S. operations</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company&#8217;s provision (benefit) for income taxes for the&#160;years ended December&#160;31, 2022 and 2021, which related to U.S. operations, consists of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 430,116</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 202,444</p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (29,157)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (895)</p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 400,959</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 201,549</p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (184,469)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (524,733)</p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 180,249</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (124,798)</p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4,220)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (649,531)</p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total provision (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 396,739</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (447,982)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of reconciliation of federal tax rate to the effective rate</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">A reconciliation of the U.S. statutory federal tax rate to the effective rate for the&#160;years ended December&#160;31, 2022&#160;and 2021 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:72.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">U.S. statutory federal rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:top;width:72.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">State taxes, net of federal effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8.88</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.72</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:top;width:72.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Nontaxable foreign income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (25.57)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (43.36)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Research &amp; development tax credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1.92)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (7.39)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:top;width:72.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Permanent items</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.70)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (6.26)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:top;width:72.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill impairment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20.31</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:top;width:72.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Valuation allowance for deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.38</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.65</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:72.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.07</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (12.33)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of tax effects of significant items net long-term deferred tax assets liability</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The tax effects of significant items comprising the Company&#8217;s net long-term deferred tax liability as of December&#160;31, 2022 and 2021 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Continuing Operations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Research &amp; development tax credits</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,069</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 398,413</p></td></tr><tr><td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Loss carryforward</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 443,076</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 300,545</p></td></tr><tr><td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Accrued compensation</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82,503</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 112,446</p></td></tr><tr><td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Operating lease liabilities</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 412,840</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 469,398</p></td></tr><tr><td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Valuation allowances</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (29,036)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (139,207)</p></td></tr><tr><td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 967,452</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,141,595</p></td></tr><tr><td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Property and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 293,195</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 254,301</p></td></tr><tr><td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 821,723</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 982,422</p></td></tr><tr><td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating lease right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 412,840</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 469,398</p></td></tr><tr><td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,527,758</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,706,121</p></td></tr><tr><td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net deferred tax liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 560,306</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 564,526</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Discontinued Operations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax assets: </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Operating loss carryforwards - Mexico</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,378,177</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,230,398</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Land basis difference - Mexico</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,163,681</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,602,470</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Start-up costs - Mexico</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,274,858</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,693,395</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Valuation allowances</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (11,816,716)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,526,263)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#00b050;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income before income tax between domestic and foreign jurisdictions.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock</td>
</tr>
<tr>
<td style="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>56
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203049706512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per share (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_EarningsPerShareAbstract', window );"><strong>Earnings per share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of computation of basic and diluted EPS</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,227,343</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,449,658</p></td></tr><tr><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: preferred stock dividends</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (11,532)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,796)</p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income from continuing operations available to common shares in the determination of basic earnings per common share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,215,811</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,438,862</p></td></tr><tr><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total loss from discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,371,049)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,574,079)</p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income available to common shares in the determination of basic earnings per common share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,844,762</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 864,783</p></td></tr><tr><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average number of common shares in the determination of basic earnings per common share attributable to Consolidated Water Co. Ltd. common stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,290,509</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,213,816</p></td></tr><tr><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Plus:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average number of preferred shares outstanding during the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31,885</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 30,348</p></td></tr><tr><td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Potential dilutive effect of unexercised options and unvested stock grants</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 79,259</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 65,981</p></td></tr><tr><td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average number of shares used for determining diluted earnings per common share attributable to Consolidated Water Co. Ltd. common stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,401,653</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,310,145</p></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_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203049594896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Dividends (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DividendsAbstract', window );"><strong>Dividends.</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_DividendsDeclaredTableTextBlock', window );">Schedule of dividends</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">First Quarter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.085</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.085</p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Second Quarter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.085</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.085</p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Third Quarter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.085</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.085</p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Fourth Quarter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.085</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.085</p></td></tr><tr><td style="vertical-align:bottom;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.34</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.34</p></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_DividendsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DividendsAbstract</td>
</tr>
<tr>
<td style="padding-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_DividendsDeclaredTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 information related to dividends declared, including paid and unpaid dividends.</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_DividendsDeclaredTableTextBlock</td>
</tr>
<tr>
<td style="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>58
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203052356736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment information (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_SegmentReportingAbstract', window );"><strong>Segment information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock', window );">Schedule of segment reporting information, by segment</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:63.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Retail</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Bulk</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Manufacturing</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25,954,013</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 32,991,066</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,835,428</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,324,465</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 94,104,972</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,548,763</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23,032,212</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,973,634</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,195,240</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 63,749,849</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Gross profit </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,405,250</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,958,854</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,861,794</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,129,225</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 30,355,123</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">General and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,552,866</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,570,732</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,461,294</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,485,342</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,070,234</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Gain (loss) on asset dispositions and impairments, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (39,397)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,607</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23,717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,631)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (12,704)</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,187,013)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,393,729</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,424,217</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (358,748)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,272,185</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 464,810</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,736,995</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 396,739</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income from continuing operations </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,340,256</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income from continuing operations attributable to non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,112,913</p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,227,343</p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss from discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,371,049)</p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income attributable to Consolidated Water Co. Ltd. stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,856,294</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Depreciation and amortization expenses for the&#160;year ended December&#160;31, 2022 for the retail, bulk, services and manufacturing segments were $2,391,603, $2,836,794, $674,508 and $284,403, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:34.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:64.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As&#160;of December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:34.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Retail</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Bulk</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Manufacturing</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,953,927</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16,554,940</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,838,721</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,698,594</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,046,182</p></td></tr><tr><td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Inventory, current and non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,759,659</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,037,684</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,481,486</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,278,829</p></td></tr><tr><td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,697,490</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,510,658</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">759,409 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,561,988</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 52,529,545</p></td></tr><tr><td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Construction in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,643,889</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 61,792</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,705,681</p></td></tr><tr><td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Intangibles, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,064,444</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 754,444</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,818,888</p></td></tr><tr><td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,170,511</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,948,875</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,320,416</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,985,211</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,425,013</p></td></tr><tr><td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total segment assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 65,853,789</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 56,118,243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">36,319,078 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,054,971</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 171,346,081</p></td></tr><tr><td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Assets of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,660,768</p></td></tr><tr><td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 193,006,849</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:63.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Retail</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Bulk</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Manufacturing</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,104,953</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,800,869</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,884,857</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,072,823</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 66,863,502</p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,060,937</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,759,272</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,707,243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,828,859</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 43,356,311</p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,044,016</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,041,597</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,177,614</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 243,964</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23,507,191</p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">General and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,841,259</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,365,735</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,762,735</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,380,630</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 18,350,359</p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Gain (loss) on asset dispositions and impairments, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (246,851)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (485)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,900,000)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3,145,836)</p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,044,094)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,677,362</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 414,394</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4,036,666)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,010,996</p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,623,595</p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,634,591</p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Benefit from income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (447,982)</p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income from continuing operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,082,573</p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income from continuing operations attributable to non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 632,915</p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,449,658</p></td></tr><tr><td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss from discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,574,079)</p></td></tr><tr><td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income attributable to Consolidated Water Co. Ltd. stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 875,579</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Depreciation and amortization expenses for the&#160;year ended December&#160;31, 2021 for the retail, bulk, services and manufacturing segments were $2,517,407, $3,331,554, $782,882 and $289,390, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:35.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:64.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As&#160;of December&#160;31,&#160;2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Retail</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Bulk</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Manufacturing</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,601,619</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,682,951</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,698,797</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,365,940</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,349,307</p></td></tr><tr><td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Inventory, current and non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,787,277</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,860,808</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 589,757</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,237,842</p></td></tr><tr><td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,357,390</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,476,936</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 512,493</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,599,720</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 52,946,539</p></td></tr><tr><td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Construction in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 617,334</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31,737</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 61,792</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 710,863</p></td></tr><tr><td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Intangibles, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,553,888</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 847,778</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,401,666</p></td></tr><tr><td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,170,511</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,948,875</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,320,416</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,985,211</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,425,013</p></td></tr><tr><td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total segment assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 61,736,441</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 68,723,405</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,825,207</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,749,877</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 154,034,930</p></td></tr><tr><td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Assets of discontinued operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,319,927</p></td></tr><tr><td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 176,354,857</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock', window );">Schedule of revenues earned by major geographic region</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cayman Islands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 30,375,985</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,935,746</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Bahamas</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29,943,615</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,031,547</p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 33,338,466</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,489,851</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Revenue earned from management services agreement with OC-BVI</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 446,906</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 406,358</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 94,104,972</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 66,863,502</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Revenue earned from major customers were:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Revenue earned from the WSC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29,943,615</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,031,547</p></td></tr><tr><td style="vertical-align:top;width:73.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Percentage of consolidated revenue earned from the WSC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">32%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">36%</p></td></tr><tr><td style="vertical-align:middle;width:73.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Revenue earned from one service segment customer</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,805,752</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:middle;width:73.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Percentage of consolidated revenue earned from the one service segment customer</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">13%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">0%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock', window );">Schedule of long-lived assets by geographic areas</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cayman Islands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,068,156</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,687,944</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">The Bahamas</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,031,690</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,004,707</p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,429,699</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,253,888</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 52,529,545</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 52,946,539</p></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_LongLivedAssetsByGeographicAreasTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph b<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfSegmentReportingInformationBySegmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8813-108599<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203051810304">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cost of revenues and general and administrative expenses (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract', window );"><strong>Cost of revenues and general and administrative expenses</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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock', window );">Schedule of cost of revenues and general and administrative expenses</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cost of revenue consist of:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Subcontractor and other project costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16,717,422</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,853,617</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employee costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,036,117</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,439,042</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Fuel oil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,203,690</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,742,056</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Electricity</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,975,129</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,698,148</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,261,463</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,855,073</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Maintenance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,786,258</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,092,776</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Insurance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,782,333</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,625,862</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Retail license royalties</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,590,250</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,418,820</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of plant sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,129,702</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,757</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,267,485</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,606,160</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 63,749,849</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 43,356,311</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">General and administrative expenses consist of:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employee costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,209,635</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,562,125</p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Insurance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,067,625</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,813,026</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Professional fees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,760,279</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,611,616</p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Directors&#8217; fees and expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 991,592</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 851,775</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Office rent</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 793,380</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 735,737</p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Amortization of intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 582,778</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 746,667</p></td></tr><tr><td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 163,714</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 140,140</p></td></tr><tr><td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,501,231</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,889,273</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,070,234</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 18,350,359</p></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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for cost of revenues and general and administrative expenses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</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>60
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203052410928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-based compensation (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Stock-based compensation</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Schedule of significant weighted average assumptions</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:77.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:77.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:top;width:77.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Risk free interest rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.64</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:top;width:77.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected option life (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:77.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected volatility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 47.15</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31.92</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:top;width:77.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected dividend yield</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.35</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.87</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Schedule of company's stock option activity</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">A summary of the Company&#8217;s stock option activity for the&#160;year ended December&#160;31, 2022 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Life&#160;(Years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Value&#160;(1)</b></p></td></tr><tr><td style="vertical-align:top;width:59.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at beginning of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,490</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12.98</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,960</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10.47</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:59.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3,064)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8.73</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited/expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (8,646)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9.89</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:59.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding as of December&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,740</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13.59</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">years&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,534</p></td></tr><tr><td style="vertical-align:top;width:59.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercisable as of December&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">years&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The intrinsic value of a stock option represents the amount by which the fair value of the underlying stock, measured by reference to the closing price of the common shares of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">14.80</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> on the Nasdaq Global Select Market on December&#160;31, 2022, exceeds the exercise price of the option.</span></td></tr></table><div style="margin-top:12pt;"/><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock', window );">Schedule of weighted average fair value of options at the date of grant and the intrinsic value</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options granted with an exercise price below market price on the date of grant:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employees &#8212; preferred stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.58</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.71</p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Overall weighted average</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.58</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.71</p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options granted with an exercise price at market price on the date of grant:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Management employees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employees &#8212; common stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.32</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.89</p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Overall weighted average</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.32</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.89</p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options granted with an exercise price above market price on the date of grant:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Management employees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employees &#8212; preferred stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Overall weighted average</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total intrinsic value of options exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,158</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,876</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="visibility:hidden;">&#8203;</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_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_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5047-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140203046160288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Financial instruments (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_InvestmentsAllOtherInvestmentsAbstract', window );"><strong>Financial instruments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock', window );">Schedule of Fair value hierarchy for assets and liabilities</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:53.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:53.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:45.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level&#160;1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level&#160;2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level&#160;3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:top;width:53.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Assets:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:53.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Recurring</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:53.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Certificate of deposit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:top;width:53.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Net asset arising from put/call options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:53.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:53.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:45.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level&#160;1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level&#160;2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level&#160;3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:top;width:53.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Assets:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:53.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Recurring</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:53.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Certificate of deposit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,500,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,500,000</p></td></tr><tr><td style="vertical-align:top;width:53.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Net asset arising from put/call options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 128,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 128,000</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock', window );">Schedule of Net liability arising from put/call options</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net asset arising from put/call options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance as of December&#160;31,&#160;2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 128,000</p></td></tr><tr><td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercise of option</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (128,000)</p></td></tr><tr><td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance as of December&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 financial instruments measured at fair value, including those classified in shareholders' equity measured on a recurring or nonrecurring basis. Disclosures include, but are not limited to, fair value measurements recorded and the reasons for the measurements, level within the fair value hierarchy in which the fair value measurements are categorized and transfers between levels 1 and 2. Nonrecurring fair value measurements are those that are required or permitted in the statement of financial position in particular circumstances.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19279-110258<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2C<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=SL7498348-110258<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock</td>
</tr>
<tr>
<td style="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_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19279-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock</td>
</tr>
<tr>
<td style="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_InvestmentsAllOtherInvestmentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_InvestmentsAllOtherInvestmentsAbstract</td>
</tr>
<tr>
<td style="padding-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>62
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140203054637168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Supplemental disclosure of cash flow information (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_SupplementalCashFlowElementsAbstract', window );"><strong>Supplemental disclosure of cash flow information</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_cwco_ScheduleOfSupplementalDisclosureOfCashFlowInformation', window );">Schedule of Supplemental disclosure of cash flow information</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;margin-bottom:12pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Interest paid in cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,797</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,248</p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income taxes paid in cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 211,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 160,000</p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Non-cash transactions:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Issuance of 9,295 and 8,632, respectively, shares of redeemable preferred stock for services rendered</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 133,197</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 102,203</p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Issuance of 72,597 and 88,488, respectively, shares of common stock for services rendered</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 521,016</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 745,468</p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Conversion (on a one-to-one basis) of 6,585 and 11,522, respectively, shares of redeemable preferred stock to common stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,951</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,913</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Dividends declared but not paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,305,367</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,298,148</p></td></tr><tr><td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Transfers from inventory to property, plant and equipment and construction in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 346,024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 189,924</p></td></tr><tr><td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Transfers from construction in progress to property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 297,723</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 644,224</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Right-of-use assets obtained in exchange for new operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,852,608</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Purchase of equipment through issuance of long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 188,645</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 95,707</p></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_cwco_ScheduleOfSupplementalDisclosureOfCashFlowInformation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for supplemental cash flow activities, including cash, noncash, and part noncash transactions, for the period. Noncash is defined as information about all investing and financing activities of an enterprise during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. "Part noncash" refers to that portion of the transaction not resulting in cash receipts or cash payments in 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;">cwco_ScheduleOfSupplementalDisclosureOfCashFlowInformation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</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_SupplementalCashFlowElementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowElementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140203050466896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounting policies - Additional Information (Details)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Jan. 04, 2023 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>customer</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_InterestCostsCapitalized', window );">Interest Capitalized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_OwnershipAxis=cwco_PercWaterCorporationMember', window );">PERC Water Corporation | Subsequent Event [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestOwnershipPercentageByParent', window );">Ownership interest held</a></td>
<td class="nump">100.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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Cash</a></td>
<td class="nump">$ 2,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cwco_AerexIndustriesIncMember', window );">Aerex</a></td>
<td class="text">&#160;<span></span>
</td>
<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_cwco_NumberOfCustomers', window );">Number of Customers | customer</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<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_BusinessAcquisitionAxis=cwco_AerexIndustriesIncMember', window );">Aerex | Revenue Benchmark [Member] | Customer Concentration Risk [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_ConcentrationRiskPercentage1', window );">Percentage of total</a></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">80.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_BusinessAcquisitionAxis=cwco_AerexIndustriesIncMember', window );">Aerex | Gross Profit [Member] | Customer Concentration Risk [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_ConcentrationRiskPercentage1', window );">Percentage of total</a></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">89.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_BusinessAcquisitionAxis=cwco_PercWaterCorporationMember', window );">PERC Water Corporation</a></td>
<td class="text">&#160;<span></span>
</td>
<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_BusinessAcquisitionPercentageOfVotingInterestsAcquired', window );">Ownership interest acquired</a></td>
<td class="nump">39.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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Cash</a></td>
<td class="nump">$ 7,800,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cwco_PercWaterCorporationMember', window );">PERC Water Corporation | Subsequent Event [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired', window );">Ownership interest acquired</a></td>
<td class="nump">39.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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions', window );">Shares of the Company's common stock | shares</a></td>
<td class="nump">368,383<span></span>
</td>
<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_BusinessCombinationConsiderationTransferred1', window );">Cash</a></td>
<td class="nump">$ 2,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_NumberOfCustomers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Refers to the number of customers.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cwco_NumberOfCustomers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 voting equity interests acquired at the acquisition date in the business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired</td>
</tr>
<tr>
<td style="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_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126975305&amp;loc=d3e6927-128479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13531-108611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13537-108611<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_InterestCostsCapitalized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of interest capitalized 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestCostsCapitalized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_MinorityInterestOwnershipPercentageByParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 parent entity's interest in net assets of the subsidiary, expressed as a percentage.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestOwnershipPercentageByParent</td>
</tr>
<tr>
<td style="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_StockIssuedDuringPeriodSharesAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of stock issued during the period pursuant to acquisitions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesAcquisitions</td>
</tr>
<tr>
<td style="padding-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_srt_OwnershipAxis=cwco_PercWaterCorporationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OwnershipAxis=cwco_PercWaterCorporationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cwco_AerexIndustriesIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BusinessAcquisitionAxis=cwco_AerexIndustriesIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_us-gaap_ConcentrationRiskByBenchmarkAxis=cwco_GrossProfitMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_GrossProfitMember</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_BusinessAcquisitionAxis=cwco_PercWaterCorporationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BusinessAcquisitionAxis=cwco_PercWaterCorporationMember</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>64
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140203050603104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounting policies - Cash and cash equivalents (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract', window );"><strong>Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents [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_ForeignCurrencyTransactionGainLossBeforeTax', window );">Net foreign currency gains</a></td>
<td class="nump">$ 41,750<span></span>
</td>
<td class="nump">$ 32,594<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">5,484,328<span></span>
</td>
<td class="nump">7,738,216<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Deposits</a></td>
<td class="nump">12,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_CashAndRestrictedCashEquivalentsHeldInForeignBank', window );">Cash held in foreign bank accounts</a></td>
<td class="nump">36,600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_DepositsHeldInForeignBank', window );">Deposits held in foreign bank</a></td>
<td class="nump">5,700,000<span></span>
</td>
<td class="nump">3,900,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_CertificatesOfDepositMember', window );">Certificate of deposit</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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract', window );"><strong>Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents [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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 5,000,000.0<span></span>
</td>
<td class="nump">7,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_CertificatesOfDepositMember', window );">Certificate of deposit | Bahamas [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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract', window );"><strong>Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents [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_CashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,500,000<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_CashAndRestrictedCashEquivalentsHeldInForeignBank">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the amount cash held in foreign bank accounts including restricted cash.</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;">cwco_CashAndRestrictedCashEquivalentsHeldInForeignBank</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_DepositsHeldInForeignBank">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 deposits held in foreign banks, as stated in equivalent United States dollars.</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;">cwco_DepositsHeldInForeignBank</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-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_CashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=125521441&amp;loc=d3e30690-110894<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 35<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123602790&amp;loc=d3e30226-110892<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=126980362&amp;loc=d3e28228-110885<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124440516&amp;loc=d3e30840-110895<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionGainLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CashAndCashEquivalentsAxis=us-gaap_CertificatesOfDepositMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=us-gaap_CertificatesOfDepositMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_BS">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_BS</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>65
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140203050441280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounting policies - Property, plant and equipment (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember', window );">Building [Member] | Maximum [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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">40 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember', window );">Building [Member] | Minimum [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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=cwco_PlantAndEquipmentMember', window );">Plant And Equipment [Member] | Maximum [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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">40 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=cwco_PlantAndEquipmentMember', window );">Plant And Equipment [Member] | Minimum [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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">4 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=cwco_DistributionSystemsMember', window );">Distribution Systems [Member] | Maximum [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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">40 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=cwco_DistributionSystemsMember', window );">Distribution Systems [Member] | Minimum [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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Office furniture, fixtures and equipment [Member] | Maximum [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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Office furniture, fixtures and equipment [Member] | Minimum [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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember', window );">Vehicles [Member] | Maximum [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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember', window );">Vehicles [Member] | Minimum [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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives', window );">Property, Plant and Equipment, Estimated Useful Lives</a></td>
<td class="text">Shorter of 5 years or lease term<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=cwco_LabEquipmentMember', window );">Lab equipment [Member] | Maximum [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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=cwco_LabEquipmentMember', window );">Lab equipment [Member] | Minimum [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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">5 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_PropertyPlantAndEquipmentEstimatedUsefulLives">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Describes the periods of time over which an entity anticipates to receive utility from its property, plant and equipment (that is, the periods of time over which an entity allocates the initial cost of its property, plant and equipment).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 35<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126905813&amp;loc=d3e1205-110223<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=cwco_PlantAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=cwco_PlantAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=cwco_DistributionSystemsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=cwco_DistributionSystemsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=cwco_LabEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=cwco_LabEquipmentMember</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>66
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140203050097760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounting policies - Goodwill and intangible assets (Details)<br></strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="5">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Jun. 30, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 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_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,425,013<span></span>
</td>
<td class="nump">$ 10,425,013<span></span>
</td>
<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_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,818,888<span></span>
</td>
<td class="nump">3,401,666<span></span>
</td>
<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_GoodwillImpairmentLoss', window );">Impairment of goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,900,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=cwco_SegmentRetailMember', window );">Retail [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_EstimatedFairValueCarryingAmountExceededPercentage', window );">Estimated Fair Value Carrying Amount Exceeded Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32<span></span>
</td>
<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_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,170,511<span></span>
</td>
<td class="nump">$ 1,170,511<span></span>
</td>
<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_StatementBusinessSegmentsAxis=cwco_BulkMember', window );">Bulk [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_EstimatedFairValueCarryingAmountExceededPercentage', window );">Estimated Fair Value Carrying Amount Exceeded Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">51<span></span>
</td>
<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_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,948,875<span></span>
</td>
<td class="nump">$ 1,948,875<span></span>
</td>
<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_StatementBusinessSegmentsAxis=cwco_ServicesMember', window );">Services [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_cwco_EstimatedFairValueCarryingAmountExceededPercentage', window );">Estimated Fair Value Carrying Amount Exceeded Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15<span></span>
</td>
<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_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,320,416<span></span>
</td>
<td class="nump">$ 5,320,416<span></span>
</td>
<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_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,064,444<span></span>
</td>
<td class="nump">$ 2,553,888<span></span>
</td>
<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_StatementBusinessSegmentsAxis=cwco_ManufacturingUnitsMember', window );">Manufacturing Units [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_EstimatedFairValueCarryingAmountExceededPercentage', window );">Estimated Fair Value Carrying Amount Exceeded Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15<span></span>
</td>
<td class="nump">31<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_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,985,211<span></span>
</td>
<td class="nump">$ 1,985,211<span></span>
</td>
<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_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 754,444<span></span>
</td>
<td class="nump">$ 847,778<span></span>
</td>
<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_cwco_FairValueDeterminingMethodAxis=cwco_DiscountedCashFlowMethodMember', window );">Discounted Cash Flow Method [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_EstimatedFairValuePercentageSegmentReportingInformation', window );">Estimated Fair Value Percentage Segment Reporting Information</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80.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>
</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_cwco_FairValueDeterminingMethodAxis=cwco_GuidelinePublicCompanyMethodMember', window );">Guideline Public Company Method [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_EstimatedFairValuePercentageSegmentReportingInformation', window );">Estimated Fair Value Percentage Segment Reporting Information</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.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>
</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_BusinessAcquisitionAxis=cwco_AerexIndustriesIncMember', window );">Aerex</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 8,035,211<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillImpairmentLoss', window );">Impairment of goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,750,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_BusinessAcquisitionAxis=cwco_AerexIndustriesIncMember', window );">Aerex | Manufacturing Units [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_EstimatedFairValueCarryingAmountExceededPercentage', window );">Estimated Fair Value Carrying Amount Exceeded Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">63<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,985,211<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,885,211<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 754,444<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_GoodwillImpairmentLoss', window );">Impairment of goodwill</a></td>
<td class="nump">$ 2,900,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="nump">$ 1,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cwco_AerexIndustriesIncMember', window );">Aerex | Discounted Cash Flow Method [Member] | Manufacturing Units [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_EstimatedFairValuePercentageSegmentReportingInformation', window );">Estimated Fair Value Percentage Segment Reporting Information</a></td>
<td class="nump">80.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cwco_AerexIndustriesIncMember', window );">Aerex | Guideline Public Company Method [Member] | Manufacturing Units [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_EstimatedFairValuePercentageSegmentReportingInformation', window );">Estimated Fair Value Percentage Segment Reporting Information</a></td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.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_cwco_EstimatedFairValueCarryingAmountExceededPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the exceeded percentage of estimated fair value of reporting segments.</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;">cwco_EstimatedFairValueCarryingAmountExceededPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</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>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_EstimatedFairValuePercentageSegmentReportingInformation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the estimated fair value of reporting segments.</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;">cwco_EstimatedFairValuePercentageSegmentReportingInformation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</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_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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_GoodwillImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 from the write-down of an asset representing the 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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13854-109267<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13777-109266<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_StatementBusinessSegmentsAxis=cwco_SegmentRetailMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=cwco_SegmentRetailMember</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_StatementBusinessSegmentsAxis=cwco_BulkMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=cwco_BulkMember</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_StatementBusinessSegmentsAxis=cwco_ServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=cwco_ServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=cwco_ManufacturingUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=cwco_ManufacturingUnitsMember</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_cwco_FairValueDeterminingMethodAxis=cwco_DiscountedCashFlowMethodMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">cwco_FairValueDeterminingMethodAxis=cwco_DiscountedCashFlowMethodMember</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_cwco_FairValueDeterminingMethodAxis=cwco_GuidelinePublicCompanyMethodMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">cwco_FairValueDeterminingMethodAxis=cwco_GuidelinePublicCompanyMethodMember</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_BusinessAcquisitionAxis=cwco_AerexIndustriesIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BusinessAcquisitionAxis=cwco_AerexIndustriesIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140203050814656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounting policies - Investments and Other assets (Details)<br> gal in Millions</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($) </div>
<div>gal</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_CriteriaForRecognizingInvestmentAtCost', window );">Criteria for recognizing investment at cost</a></td>
<td class="text">Investments where the Company does not exercise significant influence over the operating and financial policies of the investee and holds less than 20% of the voting stock are recorded at cost.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentAdditionalInformation', window );">Equity Method Investment, Additional Information</a></td>
<td class="text">The Company uses the equity method of accounting for investments in common stock where the Company holds 20% to 50% of the voting stock of the investee and has significant influence over its operating and financial policies but does not meet the criteria for consolidation.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedAmortizationOfOtherDeferredCosts', window );">Accumulated Amortization of Other Deferred Costs</a></td>
<td class="nump">$ 2,900,000<span></span>
</td>
<td class="nump">$ 2,700,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_OtherAmortizationOfDeferredCharges', window );">Amortization of Other Deferred Charges</a></td>
<td class="nump">$ 179,353<span></span>
</td>
<td class="nump">179,353<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_cwco_AmountRequiredToReduceAmountOfWaterLostByPublicWaterDistributionSystem', window );">Amount required to reduce the amount of water lost by the public water distribution system | gal</a></td>
<td class="nump">438<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_StatementBusinessSegmentsAxis=cwco_CapitalizedEngineeringLaborAndMaterialsCostMember', window );">Capitalized Engineering Labor and Materials Cost [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_OtherAssets', window );">Other Assets</a></td>
<td class="nump">$ 3,500,000<span></span>
</td>
<td class="nump">$ 3,500,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_AmountRequiredToReduceAmountOfWaterLostByPublicWaterDistributionSystem">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 required to reduce the amount of water lost by the public water distribution system.</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;">cwco_AmountRequiredToReduceAmountOfWaterLostByPublicWaterDistributionSystem</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:volumeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_CriteriaForRecognizingInvestmentAtCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the conditions to recognize the investment value in cost.</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;">cwco_CriteriaForRecognizingInvestmentAtCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedAmortizationOfOtherDeferredCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amortization of other deferred costs capitalized at the end of the reporting period. Does not include deferred finance costs, deferred acquisition costs of insurance companies, or deferred leasing costs for real estate operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedAmortizationOfOtherDeferredCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_EquityMethodInvestmentAdditionalInformation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 serves as a place to record data that is not required by accounting literature but is useful for readers of the financial statements as it relates to the details of an equity method investment in common stock. Such information may include the amount of change for a change in ownership (equity) percentage in a given period and the amount and type of the consideration given or received in relation to the change in ownership.</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_EquityMethodInvestmentAdditionalInformation</td>
</tr>
<tr>
<td style="padding-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_OtherAmortizationOfDeferredCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 of other deferred costs recognized in the income 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAmortizationOfDeferredCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_StatementBusinessSegmentsAxis=cwco_CapitalizedEngineeringLaborAndMaterialsCostMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=cwco_CapitalizedEngineeringLaborAndMaterialsCostMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140203049822096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounting policies - Disaggregated revenue (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Total Revenue</a></td>
<td class="nump">$ 94,104,972<span></span>
</td>
<td class="nump">$ 66,863,502<span></span>
</td>
</tr>
<tr class="ro">
<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>Contracts in progress</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue', window );">Number of days after consumption billings are considered past due</a></td>
<td class="text">45 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [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_RevenueFromContractWithCustomerAbstract', window );"><strong>Contracts in progress</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_NumberOfDaysAfterConsumptionBillingsAreCollected', window );">Number of days after consumption billings are collected</a></td>
<td class="text">30 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Contracts in progress</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_NumberOfDaysAfterConsumptionBillingsAreCollected', window );">Number of days after consumption billings are collected</a></td>
<td class="text">45 days<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_StatementBusinessSegmentsAxis=cwco_RetailRevenuesMember', window );">Retail revenue [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Total Revenue</a></td>
<td class="nump">$ 25,954,013<span></span>
</td>
<td class="nump">22,104,953<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_StatementBusinessSegmentsAxis=cwco_BulkRevenuesMember', window );">Bulk revenue [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Total Revenue</a></td>
<td class="nump">32,991,066<span></span>
</td>
<td class="nump">26,800,869<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_StatementBusinessSegmentsAxis=cwco_ServicesRevenuesMember', window );">Services revenue [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Total Revenue</a></td>
<td class="nump">28,835,428<span></span>
</td>
<td class="nump">13,884,857<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_StatementBusinessSegmentsAxis=cwco_ManufacturingRevenuesMember', window );">Manufacturing revenue [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Total Revenue</a></td>
<td class="nump">$ 6,324,465<span></span>
</td>
<td class="nump">$ 4,072,823<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_NumberOfDaysAfterConsumptionBillingsAreCollected">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of days after consumption billings are collected.</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;">cwco_NumberOfDaysAfterConsumptionBillingsAreCollected</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of days after consumption billings are considered past due.</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;">cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=cwco_RetailRevenuesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=cwco_RetailRevenuesMember</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_StatementBusinessSegmentsAxis=cwco_BulkRevenuesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=cwco_BulkRevenuesMember</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_StatementBusinessSegmentsAxis=cwco_ServicesRevenuesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=cwco_ServicesRevenuesMember</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_StatementBusinessSegmentsAxis=cwco_ManufacturingRevenuesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=cwco_ManufacturingRevenuesMember</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>69
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140203050452656">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cash and cash equivalents (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [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_Cash', window );">Bank accounts</a></td>
<td class="nump">$ 45,227,423<span></span>
</td>
<td class="nump">$ 32,619,843<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Short term deposits</a></td>
<td class="nump">5,484,328<span></span>
</td>
<td class="nump">7,738,216<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents at end of period</a></td>
<td class="nump">50,711,751<span></span>
</td>
<td class="nump">40,358,059<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_CurrencyAxis=currency_USD', window );">United States dollar [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_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [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_Cash', window );">Bank accounts</a></td>
<td class="nump">24,573,161<span></span>
</td>
<td class="nump">15,891,277<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Short term deposits</a></td>
<td class="nump">5,484,328<span></span>
</td>
<td class="nump">5,324,258<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_CurrencyAxis=currency_KYD', window );">Cayman Islands dollar [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_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [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_Cash', window );">Bank accounts</a></td>
<td class="nump">14,956,162<span></span>
</td>
<td class="nump">12,784,358<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Short term deposits</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,413,958<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_CurrencyAxis=currency_BSD', window );">Bahamian dollar [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_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [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_Cash', window );">Bank accounts</a></td>
<td class="nump">$ 5,698,100<span></span>
</td>
<td class="nump">$ 3,944,208<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 210<br> -Section 45<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=118262064&amp;loc=SL116631418-115840<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 210<br> -Section 45<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=118262064&amp;loc=SL116631419-115840<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_CashAndCashEquivalentsLineItems</td>
</tr>
<tr>
<td style="padding-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_CashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CurrencyAxis=currency_USD">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CurrencyAxis=currency_USD</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_CurrencyAxis=currency_KYD">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CurrencyAxis=currency_KYD</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_CurrencyAxis=currency_BSD">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CurrencyAxis=currency_BSD</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140203049786560">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accounts receivable, net (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>Accounts receivable, net.</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_AccountsReceivableTradeCurrent', window );">Trade accounts receivable</a></td>
<td class="nump">$ 27,163,719<span></span>
</td>
<td class="nump">$ 27,311,188<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DueFromAffiliateCurrent', window );">Receivable from OC-BVI</a></td>
<td class="nump">37,293<span></span>
</td>
<td class="nump">40,877<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_cwco_AccountsReceivableOtherCurrent', window );">Other accounts receivable</a></td>
<td class="nump">28,384<span></span>
</td>
<td class="nump">180,262<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableGrossCurrent', window );">Accounts Receivable, Gross, Current</a></td>
<td class="nump">27,229,396<span></span>
</td>
<td class="nump">27,532,327<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for doubtful accounts</a></td>
<td class="num">(183,214)<span></span>
</td>
<td class="num">(183,020)<span></span>
</td>
<td class="num">$ (172,269)<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_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">$ 27,046,182<span></span>
</td>
<td class="nump">$ 27,349,307<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_cwco_AccountsReceivableOtherCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 other receivables. Used to reflect the current portion of the assets (receivable 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cwco_AccountsReceivableOtherCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_AccountsReceivableTradeCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 trade receivables. Used to reflect the current portion of the assets (receivable 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cwco_AccountsReceivableTradeCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccountsReceivableGrossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableGrossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DueFromAffiliateCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 receivables due from an entity that is affiliated with the reporting entity by means of direct or indirect ownership, due within 1 year (or 1 business cycle).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=d3e56071-112765<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39599-107864<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueFromAffiliateCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-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>71
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140203050325856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounts receivable, net - Allowance for doubtful accounts (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>Accounts receivable, net.</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Opening allowance for doubtful accounts</a></td>
<td class="nump">$ 183,020<span></span>
</td>
<td class="nump">$ 172,269<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Provision for doubtful accounts</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs', window );">Accounts written off during the year</a></td>
<td class="num">(726)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries', window );">Recovery of accounts written off</a></td>
<td class="nump">920<span></span>
</td>
<td class="nump">10,751<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Ending allowance for doubtful accounts</a></td>
<td class="nump">$ 183,214<span></span>
</td>
<td class="nump">$ 183,020<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in allowance for credit loss on accounts receivable, from recovery.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AllowanceForDoubtfulAccountsReceivableWriteOffs">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 direct write-downs of accounts receivable charged against the allowance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-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>72
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140203050218960">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Inventory (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryLineItems', window );"><strong>Inventory [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_InventoryGross', window );">Total inventory</a></td>
<td class="nump">$ 10,278,829<span></span>
</td>
<td class="nump">$ 7,237,842<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Less current portion</a></td>
<td class="nump">5,727,842<span></span>
</td>
<td class="nump">2,504,832<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNoncurrent', window );">Inventory (non-current)</a></td>
<td class="nump">4,550,987<span></span>
</td>
<td class="nump">4,733,010<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=cwco_WaterStockMember', window );">Water stock [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_InventoryLineItems', window );"><strong>Inventory [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_InventoryGross', window );">Total inventory</a></td>
<td class="nump">36,655<span></span>
</td>
<td class="nump">34,587<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=cwco_ConsumablesStockMember', window );">Consumables stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryLineItems', window );"><strong>Inventory [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_InventoryGross', window );">Total inventory</a></td>
<td class="nump">246,355<span></span>
</td>
<td class="nump">138,547<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=cwco_SparePartsStockMember', window );">Spare parts stock [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_InventoryLineItems', window );"><strong>Inventory [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_InventoryGross', window );">Total inventory</a></td>
<td class="nump">$ 9,995,819<span></span>
</td>
<td class="nump">$ 7,064,708<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_InventoryLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_InventoryLineItems</td>
</tr>
<tr>
<td style="padding-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_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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_InventoryNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Inventories not expected to be converted to cash, sold or exchanged within the normal operating cycle.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_StatementClassOfStockAxis=cwco_WaterStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_WaterStockMember</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=cwco_ConsumablesStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_ConsumablesStockMember</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=cwco_SparePartsStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_SparePartsStockMember</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>73
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140203051817040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Contracts in progress (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems', window );"><strong>Contract With Customer, In Progress, Revenue Recognized And Amounts Billed, Disclosure [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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenues recognized to date on contracts in process</a></td>
<td class="nump">$ 25,469,014<span></span>
</td>
<td class="nump">$ 6,109,396<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_cwco_ContractWithCustomerAmountBilled', window );">Amounts billed to date on contracts in process</a></td>
<td class="num">(33,407,182)<span></span>
</td>
<td class="num">(6,370,855)<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_cwco_ContractWithCustomerRetainage', window );">Retainage</a></td>
<td class="nump">2,047,969<span></span>
</td>
<td class="nump">237,542<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_ContractWithCustomerNetOverbillings', window );">Net contract asset (liability)</a></td>
<td class="num">(5,890,199)<span></span>
</td>
<td class="num">(23,917)<span></span>
</td>
</tr>
<tr class="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 );">Amount recognized revenue included in the contract liability balance</a></td>
<td class="nump">468,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_cwco_BalanceSheetLocationAbstract', window );"><strong>Balance Sheet location</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_ContractWithCustomerAssetNetCurrent', window );">Contract assets</a></td>
<td class="nump">2,913,722<span></span>
</td>
<td class="nump">489,961<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Contract liabilities</a></td>
<td class="num">(8,803,921)<span></span>
</td>
<td class="num">$ (513,878)<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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2022-12-31', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-12-31</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_cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems', window );"><strong>Contract With Customer, In Progress, Revenue Recognized And Amounts Billed, Disclosure [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_RevenueRemainingPerformanceObligation', window );">Revenue remaining performance obligation, Amount</a></td>
<td class="nump">$ 97,900,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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period</a></td>
<td class="text">1 year<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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2023-12-31', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-12-31</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_cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems', window );"><strong>Contract With Customer, In Progress, Revenue Recognized And Amounts Billed, Disclosure [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_RevenueRemainingPerformanceObligation', window );">Revenue remaining performance obligation, Amount</a></td>
<td class="nump">$ 75,300,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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period</a></td>
<td class="text">2 years<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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-12-31', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-12-31</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_cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems', window );"><strong>Contract With Customer, In Progress, Revenue Recognized And Amounts Billed, Disclosure [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_RevenueRemainingPerformanceObligation', window );">Revenue remaining performance obligation, Amount</a></td>
<td class="nump">$ 22,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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period</a></td>
<td class="text">3 years<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_cwco_BalanceSheetLocationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">cwco_BalanceSheetLocationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_ContractWithCustomerAmountBilled">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 billed for contracts with customers 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;">cwco_ContractWithCustomerAmountBilled</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_ContractWithCustomerNetOverbillings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net amount of overbillings for contracts with customers, 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;">cwco_ContractWithCustomerNetOverbillings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_ContractWithCustomerRetainage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 retainage with contract for customers.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cwco_ContractWithCustomerRetainage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130533-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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=2022-12-31">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=2022-12-31</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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2023-12-31">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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-12-31</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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-12-31">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=2024-12-31</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140203050276016">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Property, plant and equipment and construction in progress (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and Equipment, Gross</a></td>
<td class="nump">$ 139,782,227<span></span>
</td>
<td class="nump">$ 136,109,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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less accumulated depreciation</a></td>
<td class="nump">87,252,682<span></span>
</td>
<td class="nump">83,162,696<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, Plant and Equipment, Net, Total</a></td>
<td class="nump">52,529,545<span></span>
</td>
<td class="nump">52,946,539<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConstructionInProgressGross', window );">Construction in progress</a></td>
<td class="nump">3,705,681<span></span>
</td>
<td class="nump">710,863<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember', window );">Land [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and Equipment, Gross</a></td>
<td class="nump">6,488,400<span></span>
</td>
<td class="nump">3,316,537<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember', window );">Building [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and Equipment, Gross</a></td>
<td class="nump">23,280,880<span></span>
</td>
<td class="nump">23,255,925<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=cwco_PlantAndEquipmentMember', window );">Plant And Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and Equipment, Gross</a></td>
<td class="nump">64,532,994<span></span>
</td>
<td class="nump">64,324,377<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=cwco_DistributionSystemsMember', window );">Distribution Systems [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and Equipment, Gross</a></td>
<td class="nump">39,544,395<span></span>
</td>
<td class="nump">39,780,272<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Office furniture, fixtures and equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and Equipment, Gross</a></td>
<td class="nump">3,109,546<span></span>
</td>
<td class="nump">3,051,814<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember', window );">Vehicles [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and Equipment, Gross</a></td>
<td class="nump">2,525,576<span></span>
</td>
<td class="nump">2,079,874<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and Equipment, Gross</a></td>
<td class="nump">287,980<span></span>
</td>
<td class="nump">287,980<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=cwco_LabEquipmentMember', window );">Lab equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and Equipment, Gross</a></td>
<td class="nump">$ 12,456<span></span>
</td>
<td class="nump">$ 12,456<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConstructionInProgressGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConstructionInProgressGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=cwco_PlantAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=cwco_PlantAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=cwco_DistributionSystemsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=cwco_DistributionSystemsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=cwco_LabEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=cwco_LabEquipmentMember</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>75
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140203051634432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property, plant and equipment and construction in progress - Additional Information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, plant and equipment and construction in progress</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_CapitalCommitments', window );">Capital Commitments</a></td>
<td class="nump">$ 2,000,000.0<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_cwco_ConstructionInProgressPlacedInService', window );">Construction In Progress Placed In Service</a></td>
<td class="nump">297,723<span></span>
</td>
<td class="nump">$ 644,224<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">$ 5,425,177<span></span>
</td>
<td class="nump">$ 5,995,213<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_CapitalCommitments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 capital commitments 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;">cwco_CapitalCommitments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_ConstructionInProgressPlacedInService">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of construction in progress placed in service.</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;">cwco_ConstructionInProgressPlacedInService</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140203044748640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Discontinued operations - Mexico project development- Narratives (Details)<br> gal in Millions</strong></div></th>
<th class="th" colspan="2"></th>
<th class="th" colspan="2"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Feb. 09, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Feb. 09, 2022 </div>
<div>MXN ($)</div>
</th>
<th class="th">
<div>Aug. 28, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Aug. 28, 2020 </div>
<div>MXN ($)</div>
</th>
<th class="th"><div>Jun. 29, 2020</div></th>
<th class="th">
<div>Aug. 22, 2016 </div>
<div>gal</div>
</th>
<th class="th">
<div>May 31, 2010 </div>
<div>gal</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2012 </div>
<div>USD ($) </div>
<div>ha</div>
</th>
<th class="th"><div>Feb. 28, 2018</div></th>
<th class="th"><div>Aug. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInvestmentsLineItems', window );"><strong>Schedule of Investments [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_cwco_NumberOfDaysToSubmitListOfNonRecoverableExpenses', window );">Number of days to submit list of non-recoverable expenses made</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">20 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_cwco_DiscontinuedOperationsNonRecoverableExpenses', window );">Amount of non-recoverable expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 51,144,525<span></span>
</td>
<td class="nump">$ 137,333,114<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LitigationSettlementExpense', window );">Litigation Settlement, Expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 137,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment', window );">Impairment loss for Mexico assets - discontinued operations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 377,326<span></span>
</td>
<td class="nump">$ 963,540<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_ScheduleOfInvestmentsLineItems', window );"><strong>Schedule of Investments [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingencyDamagesSoughtValue', window );">Loss Contingency, Damages Sought, Value</a></td>
<td class="nump">$ 51,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=cwco_NSCAguaMember', window );">NSC Agua [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInvestmentsLineItems', window );"><strong>Schedule of Investments [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_AreaOfLand', window );">Area of Land | ha</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">20.1<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_cwco_PaymentForLandAndRightOfWayHeldForDevelopment', window );">Payments for land and rights of way held for development</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 21,100,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_srt_OwnershipAxis=cwco_NSCAguaMember', window );">NSC Agua [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInvestmentsLineItems', window );"><strong>Schedule of Investments [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_MinorityInterestOwnershipPercentageByNoncontrollingOwners', window );">Noncontrolling Interest, Ownership Percentage by Noncontrolling Owners</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">0.40%<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_cwco_SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity', window );">Seawater Reverse Osmosis Desalination Plant Per Day Processing Capacity | gal</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">100<span></span>
</td>
<td class="nump">100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_cwco_PeriodInWhichConstructionMustBeCompleted', window );">Period in which construction must be completed</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">36 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_cwco_PeriodRequiredToOperateAndMaintainPlantAndAqueduct', window );">Period Required To Operate And Maintain Plant And Aqueduct</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">37 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_OwnershipAxis=cwco_NSCAguaMember', window );">NSC Agua [Member] | Aguas de Rosarito S.A.P.I. de C.V [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInvestmentsLineItems', window );"><strong>Schedule of Investments [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_EquityMethodInvestmentOwnershipPercentage', window );">Equity Method Investment, Ownership Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">99.60%<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_OwnershipAxis=cwco_NSCAguaMember', window );">NSC Agua [Member] | First Phase [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInvestmentsLineItems', window );"><strong>Schedule of Investments [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_cwco_SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity', window );">Seawater Reverse Osmosis Desalination Plant Per Day Processing Capacity | gal</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_OwnershipAxis=cwco_NSCAguaMember', window );">NSC Agua [Member] | Second Phase [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInvestmentsLineItems', window );"><strong>Schedule of Investments [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_cwco_SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity', window );">Seawater Reverse Osmosis Desalination Plant Per Day Processing Capacity | gal</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">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>
<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_cwco_DiscontinuedOperationsNonRecoverableExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Refers to non-recoverable expense in discontinued operations.</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;">cwco_DiscontinuedOperationsNonRecoverableExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 impairment attributable to disposal group, including, but not limited to, discontinued operation.</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;">cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_NumberOfDaysToSubmitListOfNonRecoverableExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 days to submit list of non-recoverable expenses made.</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;">cwco_NumberOfDaysToSubmitListOfNonRecoverableExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_PaymentForLandAndRightOfWayHeldForDevelopment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 from the acquisition of real estate intended to generate income for the owner; excludes land acquired for use by the owner.</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;">cwco_PaymentForLandAndRightOfWayHeldForDevelopment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_PeriodInWhichConstructionMustBeCompleted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 period in which construction must be completed.</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;">cwco_PeriodInWhichConstructionMustBeCompleted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_PeriodRequiredToOperateAndMaintainPlantAndAqueduct">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 period required to operate and maintain the plant and aqueduct.</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;">cwco_PeriodRequiredToOperateAndMaintainPlantAndAqueduct</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 processing capacity per day seawater reverse osmosis desalination plant.</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;">cwco_SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:volumeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AreaOfLand">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of land held.</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_AreaOfLand</td>
</tr>
<tr>
<td style="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:areaItemType</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_EquityMethodInvestmentOwnershipPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentOwnershipPercentage</td>
</tr>
<tr>
<td style="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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossContingencyDamagesSoughtValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 value (monetary amount) of the award the plaintiff seeks in the legal matter.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14435-108349<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14326-108349<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14557-108349<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingencyDamagesSoughtValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_MinorityInterestOwnershipPercentageByNoncontrollingOwners">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity interest of noncontrolling shareholders, partners or other equity holders in consolidated 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;">us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners</td>
</tr>
<tr>
<td style="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_ScheduleOfInvestmentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInvestmentsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=cwco_NSCAguaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=cwco_NSCAguaMember</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_OwnershipAxis=cwco_NSCAguaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OwnershipAxis=cwco_NSCAguaMember</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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=cwco_AguasDeRosaritoSapiDeCvMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=cwco_AguasDeRosaritoSapiDeCvMember</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_cwco_TypeOfPhasesAxis=cwco_FirstPhaseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">cwco_TypeOfPhasesAxis=cwco_FirstPhaseMember</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_cwco_TypeOfPhasesAxis=cwco_SecondPhaseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">cwco_TypeOfPhasesAxis=cwco_SecondPhaseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140203044291952">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Discontinued operations - Mexico project development (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems', window );"><strong>Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation', window );">Total assets of discontinued operations</a></td>
<td class="nump">$ 21,660,768<span></span>
</td>
<td class="nump">$ 22,319,927<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_DisposalGroupClassificationAxis=us-gaap_SegmentDiscontinuedOperationsMember', window );">Discontinued Operations. | Mexico Project Development</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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems', window );"><strong>Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [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_DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents', window );">Cash</a></td>
<td class="nump">442,252<span></span>
</td>
<td class="nump">750,048<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">12,675<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_cwco_DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable', window );">Value added taxes receivable (net of allowance of $1,657,871 and $1,279,757, respectively)</a></td>
<td class="nump">75,826<span></span>
</td>
<td class="nump">82,783<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent', window );">Property, plant and equipment, net</a></td>
<td class="nump">727<span></span>
</td>
<td class="nump">340,910<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_cwco_DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay', window );">Land</a></td>
<td class="nump">21,126,898<span></span>
</td>
<td class="nump">21,126,898<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets', window );">Other assets</a></td>
<td class="nump">2,390<span></span>
</td>
<td class="nump">19,288<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_AssetsOfDisposalGroupIncludingDiscontinuedOperation', window );">Total assets of discontinued operations</a></td>
<td class="nump">21,660,768<span></span>
</td>
<td class="nump">22,319,927<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation', window );">Total liabilities of discontinued operations</a></td>
<td class="nump">389,884<span></span>
</td>
<td class="nump">190,141<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_cwco_ValueAddedTaxReceivableAllowance', window );">Value added tax, net of allowance</a></td>
<td class="nump">$ 1,711,234<span></span>
</td>
<td class="nump">$ 1,279,757<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount classified as land and rights of way, attributable to disposal group held for sale or disposed of, expected to be disposed of 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cwco_DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 disposal group, including discontinued operation, value added taxes receivable.</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;">cwco_DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_ValueAddedTaxReceivableAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on value added taxes receivable.</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;">cwco_ValueAddedTaxReceivableAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AssetsOfDisposalGroupIncludingDiscontinuedOperation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount classified as assets attributable to disposal group held for sale or disposed of.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e1107-107759<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721533-107759<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721675-107760<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount classified as cash and cash equivalents attributable to disposal group held for sale or disposed of.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721533-107759<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e1107-107759<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount classified as other assets attributable to disposal group held for sale or disposed of, expected to be disposed of after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126905981&amp;loc=d3e2510-110228<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721533-107759<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e1107-107759<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount classified as prepaid and other assets attributable to disposal group held for sale or disposed of, expected to be disposed of within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=126905981&amp;loc=d3e2473-110228<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721533-107759<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e1107-107759<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount classified as property, plant and equipment attributable to disposal group held for sale or disposed of, expected to be disposed of after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721533-107759<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e1107-107759<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126905981&amp;loc=d3e2510-110228<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems</td>
</tr>
<tr>
<td style="padding-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_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount classified as liabilities attributable to disposal group held for sale or disposed of.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e1107-107759<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721675-107760<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721533-107759<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DisposalGroupClassificationAxis=us-gaap_SegmentDiscontinuedOperationsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisposalGroupClassificationAxis=us-gaap_SegmentDiscontinuedOperationsMember</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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=cwco_MexicoProjectDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=cwco_MexicoProjectDevelopmentMember</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>78
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140203050635888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Discontinued operations - Mexico project development - Financial Information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems', window );"><strong>Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_IncomeLossFromDiscontinuedOperations', window );">Loss from discontinued operations</a></td>
<td class="nump">$ 2,371,049<span></span>
</td>
<td class="nump">$ 2,574,079<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_DisposalGroupClassificationAxis=us-gaap_SegmentDiscontinuedOperationsMember', window );">Discontinued Operations. | Mexico Project Development</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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems', window );"><strong>Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_ProvisionForUncollectedValueAddedTaxes', window );">Provision for uncollected value added taxes</a></td>
<td class="nump">377,326<span></span>
</td>
<td class="nump">963,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_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax', window );">Loss from operations</a></td>
<td class="num">$ (2,371,049)<span></span>
</td>
<td class="num">(2,574,079)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization', window );">Depreciation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,545<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_IncomeLossFromDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 a discontinued operation.</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;">cwco_IncomeLossFromDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_ProvisionForUncollectedValueAddedTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>It pertains to provision for uncollected value added taxes.</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;">cwco_ProvisionForUncollectedValueAddedTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of income (loss) from a discontinued operation. Includes, but is not limited to, the income (loss) from operations during the phase-out period, gain (loss) on disposal, gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and adjustments to a prior period gain (loss) on disposal.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=d3e1361-107760<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3A<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721523-107759<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e1012-107759<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3B<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721525-107759<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e957-107759<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(14))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 depreciation and amortization expense attributable to disposal group, including, but not limited to, discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems</td>
</tr>
<tr>
<td style="padding-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_DisposalGroupClassificationAxis=us-gaap_SegmentDiscontinuedOperationsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisposalGroupClassificationAxis=us-gaap_SegmentDiscontinuedOperationsMember</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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=cwco_MexicoProjectDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=cwco_MexicoProjectDevelopmentMember</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>79
<FILENAME>R65.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203050488176">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Intangible assets - Costs and accumulated amortization (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract', window );"><strong>Cost</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_FiniteLivedIntangibleAssetsGross', window );">Finite-Lived Intangible Assets, Gross</a></td>
<td class="nump">$ 5,430,000<span></span>
</td>
<td class="nump">$ 5,430,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_AdjustmentForAmortizationAbstract', window );"><strong>Accumulated amortization</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_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Finite-Lived Intangible Assets, Accumulated Amortization</a></td>
<td class="num">(2,611,112)<span></span>
</td>
<td class="num">(2,028,334)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">2,818,888<span></span>
</td>
<td class="nump">3,401,666<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_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Non-compete agreement</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_IntangibleAssetsNetExcludingGoodwillAbstract', window );"><strong>Cost</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_FiniteLivedIntangibleAssetsGross', window );">Finite-Lived Intangible Assets, Gross</a></td>
<td class="nump">530,000<span></span>
</td>
<td class="nump">530,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_AdjustmentForAmortizationAbstract', window );"><strong>Accumulated amortization</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_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Finite-Lived Intangible Assets, Accumulated Amortization</a></td>
<td class="num">(530,000)<span></span>
</td>
<td class="num">(493,889)<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_FiniteLivedIntangibleAssetsByMajorClassAxis=cwco_TradeNameMember', window );">Trade names</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_IntangibleAssetsNetExcludingGoodwillAbstract', window );"><strong>Cost</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_FiniteLivedIntangibleAssetsGross', window );">Finite-Lived Intangible Assets, Gross</a></td>
<td class="nump">2,700,000<span></span>
</td>
<td class="nump">2,700,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_AdjustmentForAmortizationAbstract', window );"><strong>Accumulated amortization</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_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Finite-Lived Intangible Assets, Accumulated Amortization</a></td>
<td class="num">(920,000)<span></span>
</td>
<td class="num">(740,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_FiniteLivedIntangibleAssetsByMajorClassAxis=cwco_ManagementContractsMember', window );">Facility management contracts</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_IntangibleAssetsNetExcludingGoodwillAbstract', window );"><strong>Cost</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_FiniteLivedIntangibleAssetsGross', window );">Finite-Lived Intangible Assets, Gross</a></td>
<td class="nump">2,200,000<span></span>
</td>
<td class="nump">2,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_AdjustmentForAmortizationAbstract', window );"><strong>Accumulated amortization</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_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Finite-Lived Intangible Assets, Accumulated Amortization</a></td>
<td class="num">$ (1,161,112)<span></span>
</td>
<td class="num">$ (794,445)<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_AdjustmentForAmortizationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AdjustmentForAmortizationAbstract</td>
</tr>
<tr>
<td style="padding-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_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 928<br> -SubTopic 340<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6473545&amp;loc=d3e61844-108004<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IntangibleAssetsNetExcludingGoodwillAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IntangibleAssetsNetExcludingGoodwillAbstract</td>
</tr>
<tr>
<td style="padding-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_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=cwco_TradeNameMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=cwco_TradeNameMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=cwco_ManagementContractsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=cwco_ManagementContractsMember</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>80
<FILENAME>R66.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203044486048">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Intangible assets - Amortization of intangible assets (Details)<br></strong></div></th>
<th class="th">
<div>Dec. 31, 2022 </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_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Intangible assets</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_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2023</a></td>
<td class="nump">$ 546,667<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2024</a></td>
<td class="nump">546,667<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2025</a></td>
<td class="nump">485,554<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2026</a></td>
<td class="nump">180,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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">2027</a></td>
<td class="nump">180,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_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive', window );">Thereafter</a></td>
<td class="nump">880,000<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Finite Lived Intangible Assets Net</a></td>
<td class="nump">$ 2,818,888<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_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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>81
<FILENAME>R67.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203050770192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible assets (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">1 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2019</div></th>
<th class="th"><div>Feb. 29, 2016</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Jan. 04, 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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of Intangible Assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 582,778<span></span>
</td>
<td class="nump">$ 746,667<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_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Non-compete agreement | 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Acquired Finite-lived Intangible Assets, Weighted Average Useful Life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Non-compete agreement | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Acquired Finite-lived Intangible Assets, Weighted Average Useful Life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cwco_PercWaterCorporationMember', window );">PERC Water Corporation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired', window );">Business Acquisition, Percentage of Voting Interests Acquired</a></td>
<td class="text">&#160;<span></span>
</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">39.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_BusinessAcquisitionAxis=cwco_PercWaterCorporationMember', window );">PERC Water Corporation | Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Acquired Finite-lived Intangible Assets, Weighted Average Useful Life</a></td>
<td class="text">6 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_IndefiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trade name</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Acquired Finite-lived Intangible Assets, Weighted Average Useful Life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">15 years<span></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_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_BusinessAcquisitionPercentageOfVotingInterestsAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 voting equity interests acquired at the acquisition date in the business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired</td>
</tr>
<tr>
<td style="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_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-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_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</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_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cwco_PercWaterCorporationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BusinessAcquisitionAxis=cwco_PercWaterCorporationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</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_IndefiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IndefiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember</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>82
<FILENAME>R68.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203044360496">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Lease assets and liabilities (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrent', window );">Current assets of discontinued operations</a></td>
<td class="nump">$ 7,979<span></span>
</td>
<td class="nump">$ 2,654<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsNoncurrentAbstract', window );"><strong>Noncurrent</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 );">Operating lease right-of-use assets</a></td>
<td class="nump">2,058,384<span></span>
</td>
<td class="nump">2,681,137<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_cwco_DisposalGroupIncludingDiscontinuedOperationLeaseNoncurrent', window );">Long-term assets of discontinued operations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,898<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_cwco_OperatingLeaseRightOfUseAssetNet', window );">Total lease right-of-use assets</a></td>
<td class="nump">2,101,987<span></span>
</td>
<td class="nump">2,700,689<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current</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 maturities of operating leases</a></td>
<td class="nump">546,851<span></span>
</td>
<td class="nump">592,336<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_cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities', window );">Current liabilities of discontinued operations</a></td>
<td class="nump">7,361<span></span>
</td>
<td class="nump">11,195<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesNoncurrentAbstract', window );"><strong>Noncurrent</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_OperatingLeaseLiabilityNoncurrent', window );">Noncurrent operating leases</a></td>
<td class="nump">1,590,542<span></span>
</td>
<td class="nump">2,137,394<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent', window );">Noncurrent liabilities of discontinued operations</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">7,819<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_OperatingLeaseLiabilityIncludingDiscontinuedOperations', window );">Total lease liabilities</a></td>
<td class="nump">$ 2,144,754<span></span>
</td>
<td class="nump">$ 2,748,744<span></span>
</td>
</tr>
<tr class="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 );">Operating leases, weighted average remaining lease term</a></td>
<td class="text">6 years 7 months 6 days<span></span>
</td>
<td class="text">7 years<span></span>
</td>
</tr>
<tr class="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 );">Operating leases, weighted average discount rate</a></td>
<td class="nump">5.11%<span></span>
</td>
<td class="nump">5.03%<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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=us-gaap_SegmentDiscontinuedOperationsMember', window );">Discontinued Operations.</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_LiabilitiesNoncurrentAbstract', window );"><strong>Noncurrent</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_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Operating leases, weighted average remaining lease term</a></td>
<td class="text">9 months 18 days<span></span>
</td>
<td class="text">1 year 7 months 6 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Operating leases, weighted average discount rate</a></td>
<td class="nump">4.96%<span></span>
</td>
<td class="nump">4.77%<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_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember', window );">Prepaid Expenses and Other Current Assets [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_AssetsCurrentAbstract', window );"><strong>Current</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_OperatingLeaseAssetsCurrent', window );">Operating lease assets, current</a></td>
<td class="nump">$ 35,624<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_cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount classified as leases attributable to disposal group held for sale or disposed of, expected to be disposed of 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount classified as leases attributable to disposal group held for sale or disposed of, expected to be disposed of 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_DisposalGroupIncludingDiscontinuedOperationLeaseNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount classified as leases attributable to disposal group held for sale or disposed of, expected to be disposed of after 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cwco_DisposalGroupIncludingDiscontinuedOperationLeaseNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_OperatingLeaseAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 Operating Lease Assets Current.</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;">cwco_OperatingLeaseAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_OperatingLeaseLiabilityIncludingDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, including discontinued operations.</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;">cwco_OperatingLeaseLiabilityIncludingDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_OperatingLeaseRightOfUseAssetNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 net under operating lease.</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;">cwco_OperatingLeaseRightOfUseAssetNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AssetsNoncurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AssetsNoncurrentAbstract</td>
</tr>
<tr>
<td style="padding-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_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_LiabilitiesNoncurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LiabilitiesNoncurrentAbstract</td>
</tr>
<tr>
<td style="padding-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_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount classified as liabilities attributable to disposal group held for sale or disposed of, expected to be disposed of beyond 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e1107-107759<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721675-107760<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126905981&amp;loc=d3e2510-110228<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721533-107759<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=us-gaap_SegmentDiscontinuedOperationsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=us-gaap_SegmentDiscontinuedOperationsMember</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_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember</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>83
<FILENAME>R69.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203053874992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Components of lease cost (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', 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_OperatingLeaseCost', window );">Operating lease costs</a></td>
<td class="nump">$ 692,404<span></span>
</td>
<td class="nump">$ 656,130<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermLeaseCost', window );">Short-term lease costs</a></td>
<td class="nump">100,975<span></span>
</td>
<td class="nump">79,606<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_cwco_OperatingLeaseCostsDiscontinuedOperations', window );">Lease costs - discontinued operations</a></td>
<td class="nump">40,021<span></span>
</td>
<td class="nump">31,281<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_LeaseCost', window );">Total lease costs</a></td>
<td class="nump">$ 833,400<span></span>
</td>
<td class="nump">$ 767,017<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_OperatingLeaseCostsDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 operating lease cost related to discontinued operations, excluding expense for lease with term of one month or less.</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;">cwco_OperatingLeaseCostsDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 lease cost recognized by lessee for lease contract.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ShortTermLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of short-term lease cost, excluding expense for lease with term of one month or less.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>84
<FILENAME>R70.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203054670896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Supplemental cash flow information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', 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_OperatingLeasePayments', window );">Operating cash outflows for operating leases</a></td>
<td class="nump">$ 742,696<span></span>
</td>
<td class="nump">$ 710,024<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_cwco_OperatingLeaseDiscontinuedOperationsPayments', window );">Operating cash flows from operating leases - discontinued operations</a></td>
<td class="nump">$ 9,590<span></span>
</td>
<td class="nump">$ 38,246<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_OperatingLeaseDiscontinuedOperationsPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow from operating lease discontinued operations, excluding payments to bring another asset to condition and location necessary for its intended use.</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;">cwco_OperatingLeaseDiscontinuedOperationsPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-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_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918643-209977<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>85
<FILENAME>R71.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203049631328">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Future lease payments (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', 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_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2023</a></td>
<td class="nump">$ 643,233<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 );">2024</a></td>
<td class="nump">390,630<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">2025</a></td>
<td class="nump">268,056<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 );">2026</a></td>
<td class="nump">227,542<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">2027</a></td>
<td class="nump">229,416<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">778,460<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 future lease payments</a></td>
<td class="nump">2,537,337<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">(399,944)<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_cwco_OperatingLeaseLiabilitiesContinuingOperations', window );">Total lease obligations</a></td>
<td class="nump">2,137,393<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Less: current obligations</a></td>
<td class="num">(546,851)<span></span>
</td>
<td class="num">$ (592,336)<span></span>
</td>
</tr>
<tr class="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 );">Noncurrent lease obligations</a></td>
<td class="nump">$ 1,590,542<span></span>
</td>
<td class="nump">$ 2,137,394<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_OperatingLeaseLiabilitiesContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, continuing operations.</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;">cwco_OperatingLeaseLiabilitiesContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<FILENAME>R72.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203053864864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income taxes - Components of income before income taxes (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes', window );">Foreign (not subject to income taxes)</a></td>
<td class="nump">$ 6,958,583<span></span>
</td>
<td class="nump">$ 5,780,692<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign', window );">Mexico</a></td>
<td class="num">(987,279)<span></span>
</td>
<td class="num">(1,767,915)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic', window );">United States</a></td>
<td class="nump">1,394,642<span></span>
</td>
<td class="num">(2,952,265)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments', window );">Income before income taxes</a></td>
<td class="nump">7,365,946<span></span>
</td>
<td class="nump">1,060,512<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_cwco_IncomeLossFromDiscontinuedOperations', window );">Less discontinued operations</a></td>
<td class="nump">2,371,049<span></span>
</td>
<td class="nump">2,574,079<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">$ 9,736,995<span></span>
</td>
<td class="nump">$ 3,634,591<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 earnings or loss from continuing operations before income taxes that is attributable to foreign operations that are not subject to income tax, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.</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;">cwco_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_IncomeLossFromDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 a discontinued operation.</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;">cwco_IncomeLossFromDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 earnings or loss from continuing operations before income taxes that is attributable to domestic 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941158&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>87
<FILENAME>R73.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203050438192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income taxes - Provision for income taxes (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract', window );"><strong>Current:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentFederalTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">$ 430,116<span></span>
</td>
<td class="nump">$ 202,444<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit', window );">State</a></td>
<td class="num">(29,157)<span></span>
</td>
<td class="num">(895)<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_CurrentIncomeTaxExpenseBenefit', window );">Total</a></td>
<td class="nump">400,959<span></span>
</td>
<td class="nump">201,549<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract', window );"><strong>Deferred:</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_DeferredFederalIncomeTaxExpenseBenefit', window );">Federal</a></td>
<td class="num">(184,469)<span></span>
</td>
<td class="num">(524,733)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit', window );">State</a></td>
<td class="nump">180,249<span></span>
</td>
<td class="num">(124,798)<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_DeferredIncomeTaxesAndTaxCredits', window );">Total</a></td>
<td class="num">(4,220)<span></span>
</td>
<td class="num">(649,531)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total provision (benefit)</a></td>
<td class="nump">$ 396,739<span></span>
</td>
<td class="num">$ (447,982)<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_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract</td>
</tr>
<tr>
<td style="padding-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_CurrentFederalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentFederalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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) pertaining to taxable income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFederalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract</td>
</tr>
<tr>
<td style="padding-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_DeferredIncomeTaxesAndTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) and income tax credits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxesAndTaxCredits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredStateAndLocalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<FILENAME>R74.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203053785888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income taxes - Reconciliation of federal tax rate to the effective rate (Details)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">U.S. statutory federal rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State taxes, net of federal effect</a></td>
<td class="nump">8.88%<span></span>
</td>
<td class="nump">2.72%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential', window );">Nontaxable foreign income</a></td>
<td class="num">(25.57%)<span></span>
</td>
<td class="num">(43.36%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch', window );">Research &amp; Development Tax Credit</a></td>
<td class="num">(1.92%)<span></span>
</td>
<td class="num">(7.39%)<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_cwco_EffectiveIncomeTaxRateReconciliationPermanentItems', window );">Permanent items</a></td>
<td class="num">(0.70%)<span></span>
</td>
<td class="num">(6.26%)<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_cwco_EffectiveIncomeTaxRateReconciliationGoodwillImpairmentPercent', window );">Goodwill impairment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.31%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Valuation allowance for deferred tax assets</a></td>
<td class="nump">2.38%<span></span>
</td>
<td class="nump">0.65%<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Total U.S. statutory federal tax rate to the effective rate</a></td>
<td class="nump">4.07%<span></span>
</td>
<td class="num">(12.33%)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_EffectiveIncomeTaxRateReconciliationGoodwillImpairmentPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 goodwill impairment.</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;">cwco_EffectiveIncomeTaxRateReconciliationGoodwillImpairmentPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</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_cwco_EffectiveIncomeTaxRateReconciliationPermanentItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to Permanent items.</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;">cwco_EffectiveIncomeTaxRateReconciliationPermanentItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax 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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch</td>
</tr>
<tr>
<td style="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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<FILENAME>R75.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203046354272">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Income taxes - Net long-term deferred tax liability (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNetAbstract', window );"><strong>Deferred tax assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch', window );">Research &amp; development tax credits</a></td>
<td class="nump">$ 58,069<span></span>
</td>
<td class="nump">$ 398,413<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsCapitalLossCarryforwards', window );">Loss carry forward</a></td>
<td class="nump">443,076<span></span>
</td>
<td class="nump">300,545<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities', window );">Accrued compensation</a></td>
<td class="nump">82,503<span></span>
</td>
<td class="nump">112,446<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_cwco_DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities', window );">Operating lease liabilities</a></td>
<td class="nump">412,840<span></span>
</td>
<td class="nump">469,398<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Valuation allowances</a></td>
<td class="num">(29,036)<span></span>
</td>
<td class="num">(139,207)<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_DeferredTaxAssetsNet', window );">Deferred tax assets</a></td>
<td class="nump">967,452<span></span>
</td>
<td class="nump">1,141,595<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesNetAbstract', window );"><strong>Deferred tax 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_DeferredTaxLiabilitiesPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="nump">293,195<span></span>
</td>
<td class="nump">254,301<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets', window );">Intangible assets</a></td>
<td class="nump">821,723<span></span>
</td>
<td class="nump">982,422<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_cwco_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets', window );">Operating lease right-of-use assets</a></td>
<td class="nump">412,840<span></span>
</td>
<td class="nump">469,398<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilities', window );">Deferred Tax Liabilities, Gross</a></td>
<td class="nump">1,527,758<span></span>
</td>
<td class="nump">1,706,121<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_DeferredIncomeTaxLiabilitiesNet', window );">Net deferred tax liability</a></td>
<td class="nump">560,306<span></span>
</td>
<td class="nump">564,526<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_DisposalGroupClassificationAxis=us-gaap_SegmentDiscontinuedOperationsMember', window );">Discontinued Operations.</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_DeferredTaxAssetsNetAbstract', window );"><strong>Deferred tax assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign', window );">Operating loss carryforwards - Mexico</a></td>
<td class="nump">5,378,177<span></span>
</td>
<td class="nump">4,230,398<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_cwco_DeferredTaxAssetsLandBasisDifference', window );">Land basis difference - Mexico</a></td>
<td class="nump">2,163,681<span></span>
</td>
<td class="nump">1,602,470<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_cwco_DeferredTaxAssetsStartupCosts', window );">Start-up costs - Mexico</a></td>
<td class="nump">4,274,858<span></span>
</td>
<td class="nump">4,693,395<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Valuation allowances</a></td>
<td class="num">(11,816,716)<span></span>
</td>
<td class="num">(10,526,263)<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_DeferredTaxAssetsNet', window );">Deferred tax assets</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_DeferredTaxAssetsLandBasisDifference">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to land basis differences.</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;">cwco_DeferredTaxAssetsLandBasisDifference</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_DeferredTaxAssetsStartupCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to start-up costs.</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;">cwco_DeferredTaxAssetsStartupCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from operating lease liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cwco_DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax liabilities attributable to deductible temporary differences from operating lease right-of-use 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;">cwco_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredIncomeTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(15)(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 deferred tax asset, of deferred tax liability attributable to taxable differences 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsCapitalLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible capital loss carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsCapitalLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible foreign operating loss carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxAssetsTaxCreditCarryforwardsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32559-109319<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupClassificationAxis=us-gaap_SegmentDiscontinuedOperationsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisposalGroupClassificationAxis=us-gaap_SegmentDiscontinuedOperationsMember</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>90
<FILENAME>R76.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203050873104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income taxes - Additional Information (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2022 </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_IncomeTaxReconciliationTaxCreditsResearch', window );">Research and development credit</a></td>
<td class="nump">$ 58,069<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_DisposalGroupClassificationAxis=us-gaap_SegmentDiscontinuedOperationsMember', window );">Discontinued Operations.</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_OperatingLossCarryforwards', window );">Operating Loss Carryforwards</a></td>
<td class="nump">17,900,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_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">Domestic Tax Authority [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating Loss Carryforwards</a></td>
<td class="nump">1,700,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_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember', window );">State and Local Jurisdiction [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating Loss Carryforwards</a></td>
<td class="nump">$ 1,600,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationTaxCreditsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax 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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationTaxCreditsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32559-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DisposalGroupClassificationAxis=us-gaap_SegmentDiscontinuedOperationsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisposalGroupClassificationAxis=us-gaap_SegmentDiscontinuedOperationsMember</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_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember</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_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember</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>91
<FILENAME>R77.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203050496288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per share (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings per share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperations', window );">Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders</a></td>
<td class="nump">$ 8,227,343<span></span>
</td>
<td class="nump">$ 3,449,658<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsPreferredStock', window );">Less: preferred stock dividends</a></td>
<td class="num">(11,532)<span></span>
</td>
<td class="num">(10,796)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic', window );">Net income from continuing operations available to common shares in the determination of basic earnings per common share</a></td>
<td class="nump">8,215,811<span></span>
</td>
<td class="nump">3,438,862<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax', window );">Total loss from discontinued operations</a></td>
<td class="num">(2,371,049)<span></span>
</td>
<td class="num">(2,574,079)<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_NetIncomeLossAvailableToCommonStockholdersBasic', window );">Net income available to common shares in the determination of basic earnings per common share</a></td>
<td class="nump">$ 5,844,762<span></span>
</td>
<td class="nump">$ 864,783<span></span>
</td>
</tr>
<tr class="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 );">Weighted average number of common shares in the determination of basic earnings per common share attributable to Consolidated Water Co. Ltd. common stockholders (in shares)</a></td>
<td class="nump">15,290,509<span></span>
</td>
<td class="nump">15,213,816<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToConversionOfPreferredStock', window );">Weighted average number of preferred shares outstanding during the period (in shares)</a></td>
<td class="nump">31,885<span></span>
</td>
<td class="nump">30,348<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants', window );">Potential dilutive effect of unexercised options and unvested stock grants</a></td>
<td class="nump">79,259<span></span>
</td>
<td class="nump">65,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_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average number of shares used for determining diluted earnings per common share attributable to Consolidated Water Co. Ltd. common stockholders</a></td>
<td class="nump">15,401,653<span></span>
</td>
<td class="nump">15,310,145<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_DividendsPreferredStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of paid and unpaid preferred stock dividends declared with the form of settlement in cash, stock and payment-in-kind (PIK).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 405<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6957935&amp;loc=d3e64057-112817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPreferredStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of income (loss) from continuing operations 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4613673-111683<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.13)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeLossFromDiscontinuedOperationsNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of income (loss) from a discontinued operation including the portion attributable to the noncontrolling interest. Includes, but is not limited to, the income (loss) from operations during the phase-out period, gain (loss) on disposal, gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and adjustments to a prior period gain (loss) on disposal.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3B<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721525-107759<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721675-107760<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e957-107759<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=d3e1361-107760<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3A<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721523-107759<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e1012-107759<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=109227538&amp;loc=d3e44648-109337<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncrementalCommonSharesAttributableToCallOptionsAndWarrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 call options and warrants 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 26<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1828-109256<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1757-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1707-109256<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants</td>
</tr>
<tr>
<td style="padding-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_IncrementalCommonSharesAttributableToConversionOfPreferredStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 convertible preferred stock using the if-converted 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e2029-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1930-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToConversionOfPreferredStock</td>
</tr>
<tr>
<td style="padding-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_NetIncomeLossAvailableToCommonStockholdersBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1377-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) from continuing operations available to common shareholders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1377-109256<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>92
<FILENAME>R78.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203046141072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Dividends (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Sep. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsAbstract', window );"><strong>Dividends.</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_DividendsPerShareDeclared', window );">Dividends Per Share Declared</a></td>
<td class="nump">$ 0.085<span></span>
</td>
<td class="nump">$ 0.085<span></span>
</td>
<td class="nump">$ 0.085<span></span>
</td>
<td class="nump">$ 0.085<span></span>
</td>
<td class="nump">$ 0.085<span></span>
</td>
<td class="nump">$ 0.085<span></span>
</td>
<td class="nump">$ 0.085<span></span>
</td>
<td class="nump">$ 0.085<span></span>
</td>
<td class="nump">$ 0.34<span></span>
</td>
<td class="nump">$ 0.34<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_DividendsPerShareDeclared">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate dividends declared during the period for each share of common stock and redeemable preferred stock 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;">cwco_DividendsPerShareDeclared</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</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_DividendsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DividendsAbstract</td>
</tr>
<tr>
<td style="padding-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>93
<FILENAME>R79.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203045629680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment information (Details)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($) </div>
<div>segment</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_NumberOfReportableSegments', window );">Number of Reportable Segments | segment</a></td>
<td class="nump">4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenue</a></td>
<td class="nump">$ 94,104,972<span></span>
</td>
<td class="nump">$ 66,863,502<span></span>
</td>
</tr>
<tr class="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 revenue</a></td>
<td class="nump">63,749,849<span></span>
</td>
<td class="nump">43,356,311<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">30,355,123<span></span>
</td>
<td class="nump">23,507,191<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative expenses</a></td>
<td class="nump">21,070,234<span></span>
</td>
<td class="nump">18,350,359<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges', window );">Gain (loss) on asset dispositions and impairments, net</a></td>
<td class="num">(12,704)<span></span>
</td>
<td class="num">(3,145,836)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">9,272,185<span></span>
</td>
<td class="nump">2,010,996<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Other income, net</a></td>
<td class="nump">464,810<span></span>
</td>
<td class="nump">1,623,595<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">9,736,995<span></span>
</td>
<td class="nump">3,634,591<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="nump">396,739<span></span>
</td>
<td class="num">(447,982)<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_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest', window );">Net income from continuing operations</a></td>
<td class="nump">9,340,256<span></span>
</td>
<td class="nump">4,082,573<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity', window );">Income from continuing operations attributable to non-controlling interests</a></td>
<td class="nump">1,112,913<span></span>
</td>
<td class="nump">632,915<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_IncomeLossFromContinuingOperations', window );">Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders</a></td>
<td class="nump">8,227,343<span></span>
</td>
<td class="nump">3,449,658<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_IncomeLossFromDiscontinuedOperationsNetOfTax', window );">Total loss from discontinued operations</a></td>
<td class="num">(2,371,049)<span></span>
</td>
<td class="num">(2,574,079)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income attributable to Consolidated Water Co. Ltd. stockholders</a></td>
<td class="nump">5,856,294<span></span>
</td>
<td class="nump">875,579<span></span>
</td>
</tr>
<tr class="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">27,046,182<span></span>
</td>
<td class="nump">27,349,307<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_cwco_InventoryCurrentAndNoncurrent', window );">Inventory, current and non-current</a></td>
<td class="nump">10,278,829<span></span>
</td>
<td class="nump">7,237,842<span></span>
</td>
</tr>
<tr class="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, plant and equipment, net</a></td>
<td class="nump">52,529,545<span></span>
</td>
<td class="nump">52,946,539<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_cwco_ConstructionInProgress', window );">Construction in progress</a></td>
<td class="nump">3,705,681<span></span>
</td>
<td class="nump">710,863<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangibles, net</a></td>
<td class="nump">2,818,888<span></span>
</td>
<td class="nump">3,401,666<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">10,425,013<span></span>
</td>
<td class="nump">10,425,013<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_cwco_AssetsContinuedOperation', window );">Total segment assets</a></td>
<td class="nump">171,346,081<span></span>
</td>
<td class="nump">154,034,930<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation', window );">Assets of discontinued operations</a></td>
<td class="nump">21,660,768<span></span>
</td>
<td class="nump">22,319,927<span></span>
</td>
</tr>
<tr class="re">
<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">193,006,849<span></span>
</td>
<td class="nump">176,354,857<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_StatementBusinessSegmentsAxis=cwco_SegmentRetailMember', window );">Retail [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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_Revenues', window );">Revenue</a></td>
<td class="nump">25,954,013<span></span>
</td>
<td class="nump">22,104,953<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of revenue</a></td>
<td class="nump">12,548,763<span></span>
</td>
<td class="nump">11,060,937<span></span>
</td>
</tr>
<tr class="ro">
<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">13,405,250<span></span>
</td>
<td class="nump">11,044,016<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative expenses</a></td>
<td class="nump">14,552,866<span></span>
</td>
<td class="nump">12,841,259<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges', window );">Gain (loss) on asset dispositions and impairments, net</a></td>
<td class="num">(39,397)<span></span>
</td>
<td class="num">(246,851)<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="num">(1,187,013)<span></span>
</td>
<td class="num">(2,044,094)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">2,953,927<span></span>
</td>
<td class="nump">2,601,619<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_cwco_InventoryCurrentAndNoncurrent', window );">Inventory, current and non-current</a></td>
<td class="nump">2,759,659<span></span>
</td>
<td class="nump">2,787,277<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">27,697,490<span></span>
</td>
<td class="nump">26,357,390<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_cwco_ConstructionInProgress', window );">Construction in progress</a></td>
<td class="nump">3,643,889<span></span>
</td>
<td class="nump">617,334<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">1,170,511<span></span>
</td>
<td class="nump">1,170,511<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_cwco_AssetsContinuedOperation', window );">Total segment assets</a></td>
<td class="nump">65,853,789<span></span>
</td>
<td class="nump">61,736,441<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_StatementBusinessSegmentsAxis=cwco_BulkMember', window );">Bulk [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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_Revenues', window );">Revenue</a></td>
<td class="nump">32,991,066<span></span>
</td>
<td class="nump">26,800,869<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of revenue</a></td>
<td class="nump">23,032,212<span></span>
</td>
<td class="nump">17,759,272<span></span>
</td>
</tr>
<tr class="ro">
<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">9,958,854<span></span>
</td>
<td class="nump">9,041,597<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative expenses</a></td>
<td class="nump">1,570,732<span></span>
</td>
<td class="nump">1,365,735<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges', window );">Gain (loss) on asset dispositions and impairments, net</a></td>
<td class="nump">5,607<span></span>
</td>
<td class="nump">1,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_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">8,393,729<span></span>
</td>
<td class="nump">7,677,362<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">16,554,940<span></span>
</td>
<td class="nump">21,682,951<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_cwco_InventoryCurrentAndNoncurrent', window );">Inventory, current and non-current</a></td>
<td class="nump">4,037,684<span></span>
</td>
<td class="nump">3,860,808<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">22,510,658<span></span>
</td>
<td class="nump">24,476,936<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_cwco_ConstructionInProgress', window );">Construction in progress</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">31,737<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">1,948,875<span></span>
</td>
<td class="nump">1,948,875<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_cwco_AssetsContinuedOperation', window );">Total segment assets</a></td>
<td class="nump">56,118,243<span></span>
</td>
<td class="nump">68,723,405<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_StatementBusinessSegmentsAxis=cwco_ServicesMember', window );">Services [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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_Revenues', window );">Revenue</a></td>
<td class="nump">28,835,428<span></span>
</td>
<td class="nump">13,884,857<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of revenue</a></td>
<td class="nump">22,973,634<span></span>
</td>
<td class="nump">10,707,243<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">5,861,794<span></span>
</td>
<td class="nump">3,177,614<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative expenses</a></td>
<td class="nump">3,461,294<span></span>
</td>
<td class="nump">2,762,735<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges', window );">Gain (loss) on asset dispositions and impairments, net</a></td>
<td class="nump">23,717<span></span>
</td>
<td class="num">(485)<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">2,424,217<span></span>
</td>
<td class="nump">414,394<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">5,838,721<span></span>
</td>
<td class="nump">1,698,797<span></span>
</td>
</tr>
<tr class="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, plant and equipment, net</a></td>
<td class="nump">759,409<span></span>
</td>
<td class="nump">512,493<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangibles, net</a></td>
<td class="nump">2,064,444<span></span>
</td>
<td class="nump">2,553,888<span></span>
</td>
</tr>
<tr class="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">5,320,416<span></span>
</td>
<td class="nump">5,320,416<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_cwco_AssetsContinuedOperation', window );">Total segment assets</a></td>
<td class="nump">36,319,078<span></span>
</td>
<td class="nump">15,825,207<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_StatementBusinessSegmentsAxis=cwco_ManufacturingUnitsMember', window );">Manufacturing Units [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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_Revenues', window );">Revenue</a></td>
<td class="nump">6,324,465<span></span>
</td>
<td class="nump">4,072,823<span></span>
</td>
</tr>
<tr class="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 revenue</a></td>
<td class="nump">5,195,240<span></span>
</td>
<td class="nump">3,828,859<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">1,129,225<span></span>
</td>
<td class="nump">243,964<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative expenses</a></td>
<td class="nump">1,485,342<span></span>
</td>
<td class="nump">1,380,630<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges', window );">Gain (loss) on asset dispositions and impairments, net</a></td>
<td class="num">(2,631)<span></span>
</td>
<td class="num">(2,900,000)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="num">(358,748)<span></span>
</td>
<td class="num">(4,036,666)<span></span>
</td>
</tr>
<tr class="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">1,698,594<span></span>
</td>
<td class="nump">1,365,940<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_cwco_InventoryCurrentAndNoncurrent', window );">Inventory, current and non-current</a></td>
<td class="nump">3,481,486<span></span>
</td>
<td class="nump">589,757<span></span>
</td>
</tr>
<tr class="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, plant and equipment, net</a></td>
<td class="nump">1,561,988<span></span>
</td>
<td class="nump">1,599,720<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_cwco_ConstructionInProgress', window );">Construction in progress</a></td>
<td class="nump">61,792<span></span>
</td>
<td class="nump">61,792<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangibles, net</a></td>
<td class="nump">754,444<span></span>
</td>
<td class="nump">847,778<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">1,985,211<span></span>
</td>
<td class="nump">1,985,211<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_cwco_AssetsContinuedOperation', window );">Total segment assets</a></td>
<td class="nump">$ 13,054,971<span></span>
</td>
<td class="nump">$ 7,749,877<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_AssetsContinuedOperation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount classified as assets attributable to continued operation.</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;">cwco_AssetsContinuedOperation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_ConstructionInProgress">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.</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;">cwco_ConstructionInProgress</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_InventoryCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 inventory current and non current.</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;">cwco_InventoryCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_AssetsOfDisposalGroupIncludingDiscontinuedOperation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount classified as assets attributable to disposal group held for sale or disposed of.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e1107-107759<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721533-107759<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721675-107760<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_GainLossOnSalesOfAssetsAndAssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) from the difference between the sale price or salvage price and the book value of an asset that was sold or retired, and gain (loss) from the write down of assets from their carrying value to fair value.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncomeLossFromContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of income (loss) from continuing operations 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4613673-111683<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.13)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of income (loss) from continuing operations attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568447-111683<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941158&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of income (loss) from continuing operations including portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeLossFromDiscontinuedOperationsNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of income (loss) from a discontinued operation including the portion attributable to the noncontrolling interest. Includes, but is not limited to, the income (loss) from operations during the phase-out period, gain (loss) on disposal, gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and adjustments to a prior period gain (loss) on disposal.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3B<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721525-107759<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721675-107760<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e957-107759<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=d3e1361-107760<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3A<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721523-107759<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e1012-107759<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=109227538&amp;loc=d3e44648-109337<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8672-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-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_StatementBusinessSegmentsAxis=cwco_SegmentRetailMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=cwco_SegmentRetailMember</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_StatementBusinessSegmentsAxis=cwco_BulkMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=cwco_BulkMember</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_StatementBusinessSegmentsAxis=cwco_ServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=cwco_ServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=cwco_ManufacturingUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=cwco_ManufacturingUnitsMember</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>94
<FILENAME>R80.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203044304784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment information - Revenues earned by major geographic region and major customer (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_Revenues', window );">Revenue</a></td>
<td class="nump">$ 94,104,972<span></span>
</td>
<td class="nump">$ 66,863,502<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_KY', window );">Cayman Islands [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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_Revenues', window );">Revenue</a></td>
<td class="nump">30,375,985<span></span>
</td>
<td class="nump">24,935,746<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_BS', window );">Bahamas [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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_Revenues', window );">Revenue</a></td>
<td class="nump">29,943,615<span></span>
</td>
<td class="nump">24,031,547<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States [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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_Revenues', window );">Revenue</a></td>
<td class="nump">33,338,466<span></span>
</td>
<td class="nump">17,489,851<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_VG', window );">Management Services Agreement With OC-BVI [Membre]</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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_Revenues', window );">Revenue</a></td>
<td class="nump">446,906<span></span>
</td>
<td class="nump">406,358<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=cwco_WaterAndSewerageCorporationMember', window );">Water and Sewerage Corporation [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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_Revenues', window );">Revenue</a></td>
<td class="nump">$ 29,943,615<span></span>
</td>
<td class="nump">$ 24,031,547<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_cwco_EntityWideRevenuesMajorCustomerPercentage', window );">Percentage of consolidated revenues</a></td>
<td class="nump">32.00%<span></span>
</td>
<td class="nump">36.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_srt_StatementGeographicalAxis=cwco_OneCustomerMember', window );">One Customer [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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_Revenues', window );">Revenue</a></td>
<td class="nump">$ 11,805,752<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_cwco_EntityWideRevenuesMajorCustomerPercentage', window );">Percentage of consolidated revenues</a></td>
<td class="nump">13.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_EntityWideRevenuesMajorCustomerPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 revenue generated from a single external customer that accounts for 10 percent or more of an entity's revenues.</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;">cwco_EntityWideRevenuesMajorCustomerPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_KY">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_KY</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_BS">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_BS</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_VG">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_VG</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=cwco_WaterAndSewerageCorporationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=cwco_WaterAndSewerageCorporationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=cwco_OneCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=cwco_OneCustomerMember</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>95
<FILENAME>R81.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203053709936">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Segment information - Property, plant and equipment, net by major geographic region (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_PropertyPlantAndEquipmentNet', window );">Property, Plant and Equipment, Net</a></td>
<td class="nump">$ 52,529,545<span></span>
</td>
<td class="nump">$ 52,946,539<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_KY', window );">Cayman Islands [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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_PropertyPlantAndEquipmentNet', window );">Property, Plant and Equipment, Net</a></td>
<td class="nump">28,068,156<span></span>
</td>
<td class="nump">26,687,944<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_BS', window );">Bahamas [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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_PropertyPlantAndEquipmentNet', window );">Property, Plant and Equipment, Net</a></td>
<td class="nump">22,031,690<span></span>
</td>
<td class="nump">24,004,707<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States [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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_PropertyPlantAndEquipmentNet', window );">Property, Plant and Equipment, Net</a></td>
<td class="nump">$ 2,429,699<span></span>
</td>
<td class="nump">$ 2,253,888<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_KY">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_KY</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_BS">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_BS</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>96
<FILENAME>R82.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203050446160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment information - Additional Information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_StatementBusinessSegmentsAxis=cwco_SegmentRetailMember', window );">Retail [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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_DepreciationDepletionAndAmortization', window );">Depreciation, Depletion and Amortization</a></td>
<td class="nump">$ 2,391,603<span></span>
</td>
<td class="nump">$ 2,517,407<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_StatementBusinessSegmentsAxis=cwco_BulkMember', window );">Bulk [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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_DepreciationDepletionAndAmortization', window );">Depreciation, Depletion and Amortization</a></td>
<td class="nump">2,836,794<span></span>
</td>
<td class="nump">3,331,554<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_StatementBusinessSegmentsAxis=cwco_ServicesMember', window );">Services [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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_DepreciationDepletionAndAmortization', window );">Depreciation, Depletion and Amortization</a></td>
<td class="nump">674,508<span></span>
</td>
<td class="nump">782,882<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_StatementBusinessSegmentsAxis=cwco_ManufacturingUnitsMember', window );">Manufacturing Units [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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_DepreciationDepletionAndAmortization', window );">Depreciation, Depletion and Amortization</a></td>
<td class="nump">$ 284,403<span></span>
</td>
<td class="nump">$ 289,390<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_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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-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_StatementBusinessSegmentsAxis=cwco_SegmentRetailMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=cwco_SegmentRetailMember</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_StatementBusinessSegmentsAxis=cwco_BulkMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=cwco_BulkMember</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_StatementBusinessSegmentsAxis=cwco_ServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=cwco_ServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=cwco_ManufacturingUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=cwco_ManufacturingUnitsMember</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>97
<FILENAME>R83.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203044402704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cost of revenues and general and administrative expenses - Cost of revenues (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems', window );"><strong>Cost of revenues and general and administrative expenses [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_CostOfRevenue', window );">Cost of revenue</a></td>
<td class="nump">$ 63,749,849<span></span>
</td>
<td class="nump">$ 43,356,311<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=cwco_SubcontractorAndOtherProjectCostsMember', window );">Subcontractor and other project costs</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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems', window );"><strong>Cost of revenues and general and administrative expenses [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_CostOfRevenue', window );">Cost of revenue</a></td>
<td class="nump">16,717,422<span></span>
</td>
<td class="nump">5,853,617<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=cwco_EmployeeCostsMember', window );">Employee costs [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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems', window );"><strong>Cost of revenues and general and administrative expenses [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_CostOfRevenue', window );">Cost of revenue</a></td>
<td class="nump">14,036,117<span></span>
</td>
<td class="nump">12,439,042<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=cwco_FuelOilMember', window );">Fuel oil [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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems', window );"><strong>Cost of revenues and general and administrative expenses [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_CostOfRevenue', window );">Cost of revenue</a></td>
<td class="nump">10,203,690<span></span>
</td>
<td class="nump">5,742,056<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_ElectricityMember', window );">Electricity [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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems', window );"><strong>Cost of revenues and general and administrative expenses [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_CostOfRevenue', window );">Cost of revenue</a></td>
<td class="nump">6,975,129<span></span>
</td>
<td class="nump">5,698,148<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=cwco_DepreciationMember', window );">Depreciation [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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems', window );"><strong>Cost of revenues and general and administrative expenses [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_CostOfRevenue', window );">Cost of revenue</a></td>
<td class="nump">5,261,463<span></span>
</td>
<td class="nump">5,855,073<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_MaintenanceMember', window );">Maintenance [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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems', window );"><strong>Cost of revenues and general and administrative expenses [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_CostOfRevenue', window );">Cost of revenue</a></td>
<td class="nump">2,786,258<span></span>
</td>
<td class="nump">2,092,776<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=cwco_InsuranceMember', window );">Insurance [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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems', window );"><strong>Cost of revenues and general and administrative expenses [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_CostOfRevenue', window );">Cost of revenue</a></td>
<td class="nump">1,782,333<span></span>
</td>
<td class="nump">1,625,862<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=cwco_RoyaltiesMember', window );">Retail license royalties [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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems', window );"><strong>Cost of revenues and general and administrative expenses [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_CostOfRevenue', window );">Cost of revenue</a></td>
<td class="nump">1,590,250<span></span>
</td>
<td class="nump">1,418,820<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=cwco_CostOfPlantSalesMember', window );">Cost of plant sales [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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems', window );"><strong>Cost of revenues and general and administrative expenses [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_CostOfRevenue', window );">Cost of revenue</a></td>
<td class="nump">1,129,702<span></span>
</td>
<td class="nump">24,757<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_OtherExpenseMember', window );">Other [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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems', window );"><strong>Cost of revenues and general and administrative expenses [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_CostOfRevenue', window );">Cost of revenue</a></td>
<td class="nump">$ 3,267,485<span></span>
</td>
<td class="nump">$ 2,606,160<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate cost of goods produced and sold and services rendered during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ConcentrationRiskByBenchmarkAxis=cwco_SubcontractorAndOtherProjectCostsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_SubcontractorAndOtherProjectCostsMember</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=cwco_EmployeeCostsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_EmployeeCostsMember</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=cwco_FuelOilMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_FuelOilMember</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_ElectricityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ElectricityMember</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=cwco_DepreciationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_DepreciationMember</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_MaintenanceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_MaintenanceMember</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=cwco_InsuranceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_InsuranceMember</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=cwco_RoyaltiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_RoyaltiesMember</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=cwco_CostOfPlantSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_CostOfPlantSalesMember</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_OtherExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OtherExpenseMember</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>98
<FILENAME>R84.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203050380000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cost of revenues and general and administrative expenses - General and administrative expenses (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems', window );"><strong>Cost of revenues and general and administrative expenses [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_GeneralAndAdministrativeExpense', window );">General and Administrative Expense</a></td>
<td class="nump">$ 21,070,234<span></span>
</td>
<td class="nump">$ 18,350,359<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=cwco_EmployeeCostsMember', window );">Employee costs [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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems', window );"><strong>Cost of revenues and general and administrative expenses [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_GeneralAndAdministrativeExpense', window );">General and Administrative Expense</a></td>
<td class="nump">11,209,635<span></span>
</td>
<td class="nump">9,562,125<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=cwco_InsuranceMember', window );">Insurance [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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems', window );"><strong>Cost of revenues and general and administrative expenses [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_GeneralAndAdministrativeExpense', window );">General and Administrative Expense</a></td>
<td class="nump">2,067,625<span></span>
</td>
<td class="nump">1,813,026<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=cwco_ProfessionalsFeeMember', window );">Professional fees [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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems', window );"><strong>Cost of revenues and general and administrative expenses [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_GeneralAndAdministrativeExpense', window );">General and Administrative Expense</a></td>
<td class="nump">1,760,279<span></span>
</td>
<td class="nump">1,611,616<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=cwco_DirectorsFeesAndExpensesMember', window );">Directors' fees and expenses [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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems', window );"><strong>Cost of revenues and general and administrative expenses [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_GeneralAndAdministrativeExpense', window );">General and Administrative Expense</a></td>
<td class="nump">991,592<span></span>
</td>
<td class="nump">851,775<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=cwco_OfficeRentMember', window );">Office Rent [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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems', window );"><strong>Cost of revenues and general and administrative expenses [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_GeneralAndAdministrativeExpense', window );">General and Administrative Expense</a></td>
<td class="nump">793,380<span></span>
</td>
<td class="nump">735,737<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=cwco_DepreciationMember', window );">Depreciation [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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems', window );"><strong>Cost of revenues and general and administrative expenses [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_GeneralAndAdministrativeExpense', window );">General and Administrative Expense</a></td>
<td class="nump">163,714<span></span>
</td>
<td class="nump">140,140<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=cwco_AmortizationOfIntangiblesMember', window );">Amortization of intangibles [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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems', window );"><strong>Cost of revenues and general and administrative expenses [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_GeneralAndAdministrativeExpense', window );">General and Administrative Expense</a></td>
<td class="nump">582,778<span></span>
</td>
<td class="nump">746,667<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=cwco_OtherCreditDeviceMember', window );">Other [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_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems', window );"><strong>Cost of revenues and general and administrative expenses [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_GeneralAndAdministrativeExpense', window );">General and Administrative Expense</a></td>
<td class="nump">$ 3,501,231<span></span>
</td>
<td class="nump">$ 2,889,273<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ConcentrationRiskByBenchmarkAxis=cwco_EmployeeCostsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_EmployeeCostsMember</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=cwco_InsuranceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_InsuranceMember</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=cwco_ProfessionalsFeeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_ProfessionalsFeeMember</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=cwco_DirectorsFeesAndExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_DirectorsFeesAndExpensesMember</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=cwco_OfficeRentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_OfficeRentMember</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=cwco_DepreciationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_DepreciationMember</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=cwco_AmortizationOfIntangiblesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_AmortizationOfIntangiblesMember</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=cwco_OtherCreditDeviceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_OtherCreditDeviceMember</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>99
<FILENAME>R85.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203050593920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-based compensation - Significant weighted average assumptions (Details)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Stock-based compensation</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk free interest rate</a></td>
<td class="nump">1.64%<span></span>
</td>
<td class="nump">0.20%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected option life (years)</a></td>
<td class="text">1 year 2 months 12 days<span></span>
</td>
<td class="text">1 year 2 months 12 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected volatility</a></td>
<td class="nump">47.15%<span></span>
</td>
<td class="nump">31.92%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Expected dividend yield</a></td>
<td class="nump">2.35%<span></span>
</td>
<td class="nump">2.87%<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>100
<FILENAME>R86.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203053666016">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-based compensation - Stock option activity (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($) </div>
<div>$ / shares </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding at the beginning of period -Options | shares</a></td>
<td class="nump">10,490<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Granted - Options | shares</a></td>
<td class="nump">12,960<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised - Options | shares</a></td>
<td class="num">(3,064)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Forfeited/expired - Options | shares</a></td>
<td class="num">(8,646)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding at the ending of period -Options | shares</a></td>
<td class="nump">11,740<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding-Weighted Average Exercise Price at the beginning of period - Options | $ / shares</a></td>
<td class="nump">$ 12.98<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Granted-Weighted Average Exercise Price | $ / shares</a></td>
<td class="nump">10.47<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Exercised-Weighted Average Exercise Price | $ / shares</a></td>
<td class="nump">8.73<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice', window );">Forfeited/expired-Weighted Average Exercise Price | $ / shares</a></td>
<td class="nump">9.89<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding-Weighted Average Exercise Price at the ending of period - Options | $ / shares</a></td>
<td class="nump">$ 13.59<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Outstanding-Weighted Average Remaining Contractual Life (Years)</a></td>
<td class="text">2 years 4 months 13 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Outstanding-Aggregate Intrinsic Value | $</a></td>
<td class="nump">$ 14,534<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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price of options that were either forfeited or expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>101
<FILENAME>R87.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203044467600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-based compensation - Weighted average fair value of options at the date of grant and the intrinsic value of options exercised (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value</a></td>
<td class="nump">$ 17,158<span></span>
</td>
<td class="nump">$ 7,876<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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=cwco_BelowMarketPriceMember', window );">Below Market Price [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_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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</a></td>
<td class="nump">$ 5.58<span></span>
</td>
<td class="nump">$ 3.71<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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=cwco_BelowMarketPriceMember', window );">Below Market Price [Member] | Employees [Member] | Preferred stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="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 );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</a></td>
<td class="nump">5.58<span></span>
</td>
<td class="nump">3.71<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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=cwco_AtMarketPriceMember', window );">At Market Price [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_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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</a></td>
<td class="nump">4.32<span></span>
</td>
<td class="nump">2.89<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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=cwco_AtMarketPriceMember', window );">At Market Price [Member] | Management Employees [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_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>
</tr>
<tr class="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 );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=cwco_AtMarketPriceMember', window );">At Market Price [Member] | Employees [Member] | Common stock [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_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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</a></td>
<td class="nump">4.32<span></span>
</td>
<td class="nump">2.89<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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=cwco_AboveMarketPriceMember', window );">Above Market Price [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_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>
</tr>
<tr class="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 );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=cwco_AboveMarketPriceMember', window );">Above Market Price [Member] | Management Employees [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_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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=cwco_AboveMarketPriceMember', window );">Above Market Price [Member] | Employees [Member] | Preferred stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="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 );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=cwco_BelowMarketPriceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=cwco_BelowMarketPriceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=cwco_EmployeesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=cwco_EmployeesMember</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_StatementEquityComponentsAxis=us-gaap_PreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_PreferredStockMember</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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=cwco_AtMarketPriceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=cwco_AtMarketPriceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=cwco_ManagementEmployeesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=cwco_ManagementEmployeesMember</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_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=cwco_AboveMarketPriceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=cwco_AboveMarketPriceMember</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>102
<FILENAME>R88.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203045543888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-based compensation (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>May 14, 2008</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>
</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_cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod', window );">Cumulative financial performance targets measurement period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Number of stock grant rights issued</a></td>
<td class="nump">12,960<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_AllocatedShareBasedCompensationExpenseNetOfTax', window );">Allocated Share-based Compensation Expense, Net of Tax</a></td>
<td class="nump">$ 386,260<span></span>
</td>
<td class="nump">$ 137,215<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Number of Shares</a></td>
<td class="nump">11,740<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Share-based Compensation Arrangement by Share-based Payment Award, Option, Nonvested, Weighted Average Exercise Price</a></td>
<td class="nump">$ 13.59<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_cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonVestedOutstandingWeightedAverageRemainingContractualTerm', window );">Share Based Compensation Arrangement By Share Based Payment Award Options Non Vested Outstanding Weighted Average Remaining Contractual Term</a></td>
<td class="text">2 years 4 months 13 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition</a></td>
<td class="text">2 years 4 months 13 days<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_PreferredStockValue', window );">Preferred stock value</a></td>
<td class="nump">$ 20,630<span></span>
</td>
<td class="nump">17,181<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_cwco_NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised', window );">Number of days employee option to purchase preferred stock must be exercised</a></td>
<td class="text">30 days<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_ShareBasedCompensation', window );">Share-based Compensation</a></td>
<td class="nump">$ 1,417,172<span></span>
</td>
<td class="nump">$ 977,232<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_cwco_ClosingPriceOfCommonShares', window );">Closing Price of Common Shares</a></td>
<td class="nump">$ 14.80<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=cwco_NonExecutiveDirectorsSharePlanMember', window );">Non Executive Directors Share Plan [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_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>
</tr>
<tr class="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 );">Number of stock grant rights issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30,911<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Share-based Compensation</a></td>
<td class="nump">$ 369,678<span></span>
</td>
<td class="nump">$ 319,002<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=cwco_NonperformancebasedGrantsMember', window );">Non-Performance-Based Grants [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_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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod', window );">Cumulative financial performance targets measurement period</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Number of stock grant rights issued</a></td>
<td class="nump">32,265<span></span>
</td>
<td class="nump">26,403<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation', window );">Number of vested shares issued</a></td>
<td class="nump">$ 23,411<span></span>
</td>
<td class="nump">$ 25,789<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Allocated Share-based Compensation Expense</a></td>
<td class="nump">$ 325,270<span></span>
</td>
<td class="nump">$ 306,250<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=cwco_PerformancebasedGrantsMember', window );">Performance-Based Grants [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_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>
</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_cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod', window );">Cumulative financial performance targets measurement period</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Number of stock grant rights issued</a></td>
<td class="nump">13,797<span></span>
</td>
<td class="nump">18,419<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Share-based Compensation</a></td>
<td class="nump">$ 335,964<span></span>
</td>
<td class="nump">$ 214,675<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_OptionIndexedToIssuersEquityTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="re">
<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 );">Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized</a></td>
<td class="nump">$ 23,609<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_OptionIndexedToIssuersEquityTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option [Member] | Common Stock Options [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_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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Number of stock grant rights issued</a></td>
<td class="nump">3,665<span></span>
</td>
<td class="nump">3,400<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_OptionIndexedToIssuersEquityTypeAxis=cwco_EquityIncentivePlan2008Member', window );">Equity Incentive Plan2008 [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_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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance', window );">Common Stock, Capital Shares Reserved for Future Issuance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,500,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_StatementClassOfStockAxis=us-gaap_RedeemablePreferredStockMember', window );">Redeemable preferred stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</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_cwco_AdditionalConsecutiveIndividualRequisiteServicePeriod', window );">Additional consecutive individual requisite service period required for eligibility in Employee Share Incentive Plan</a></td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_StockholdersEquityNoteConversionRatioPreferredShares', window );">Number of preferred shares converted to common shares dependent upon specific criteria</a></td>
<td class="nump">1<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_cwco_StockholdersEquityNoteConversionRatioCommonShares', window );">Number of common shares received upon conversion of preferred shares dependent upon specific criteria</a></td>
<td class="nump">1<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_cwco_NumberOfDaysOfAverageTradingPriceOfCommonStock', window );">Number of average trading price of the common stock</a></td>
<td class="text">7 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesIssuedForServices', window );">Stock Issued During Period, Shares, Issued for Services</a></td>
<td class="nump">9,295<span></span>
</td>
<td class="nump">8,632<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_StatementClassOfStockAxis=us-gaap_RedeemablePreferredStockMember', window );">Redeemable preferred stock [Member] | Non Executive Directors Share Plan [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_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>
</tr>
<tr class="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 );">Number of stock grant rights issued</a></td>
<td class="nump">30,767<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_cwco_AdditionalConsecutiveIndividualRequisiteServicePeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 additional consecutive individual requisite service period required for eligibility in the Employee Share Incentive Plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cwco_AdditionalConsecutiveIndividualRequisiteServicePeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_ClosingPriceOfCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Closing price of the common shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cwco_ClosingPriceOfCommonShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</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_cwco_NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of days employee option to purchase preferred stock must be exercised.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cwco_NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_NumberOfDaysOfAverageTradingPriceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of average trading price of the common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cwco_NumberOfDaysOfAverageTradingPriceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 measurement period for cumulative financial performance targets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonVestedOutstandingWeightedAverageRemainingContractualTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for non vested options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonVestedOutstandingWeightedAverageRemainingContractualTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_StockholdersEquityNoteConversionRatioCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of common shares received upon conversion of preferred shares dependent upon specific criteria.</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;">cwco_StockholdersEquityNoteConversionRatioCommonShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</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_cwco_StockholdersEquityNoteConversionRatioPreferredShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of preferred shares converted to common shares dependent upon specific criteria.</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;">cwco_StockholdersEquityNoteConversionRatioPreferredShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_AllocatedShareBasedCompensationExpenseNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of expense for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_CommonStockCapitalSharesReservedForFutureIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate number of common shares reserved for future issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockCapitalSharesReservedForFutureIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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_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_StockGrantedDuringPeriodValueSharebasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 granted 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 30<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=128088960&amp;loc=d3e3913-113898<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126965701&amp;loc=d3e15009-113911<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_StockIssuedDuringPeriodSharesIssuedForServices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued in lieu of cash for services contributed to the entity. Number of shares includes, but is not limited to, shares issued for services contributed by vendors and founders.</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_StockIssuedDuringPeriodSharesIssuedForServices</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=cwco_NonExecutiveDirectorsSharePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_NonExecutiveDirectorsSharePlanMember</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=cwco_NonperformancebasedGrantsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_NonperformancebasedGrantsMember</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=cwco_PerformancebasedGrantsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_PerformancebasedGrantsMember</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_OptionIndexedToIssuersEquityTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OptionIndexedToIssuersEquityTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=cwco_CommonStockOptionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_CommonStockOptionsMember</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_OptionIndexedToIssuersEquityTypeAxis=cwco_EquityIncentivePlan2008Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OptionIndexedToIssuersEquityTypeAxis=cwco_EquityIncentivePlan2008Member</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=us-gaap_RedeemablePreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_RedeemablePreferredStockMember</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>103
<FILENAME>R89.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203049648816">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Retirement benefits (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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_PensionExpense', window );">Pension Expense</a></td>
<td class="nump">$ 624,798<span></span>
</td>
<td class="nump">$ 584,278<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_cwco_RetirementPlanAxis=country_KY', window );">Cayman Islands [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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent', window );">Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent</a></td>
<td class="nump">5.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount', window );">Maximum annual contribution amount</a></td>
<td class="nump">$ 104,400<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_cwco_RetirementPlanAxis=stpr_FL', window );">FLORIDA</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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent', window );">Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent</a></td>
<td class="nump">6.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_cwco_RetirementPlanAxis=stpr_CA', window );">California [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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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_DefinedContributionPlanEmployerMatchingContributionPercent', window );">Employer Matching Contribution, Percent of Employees' Gross Pay</a></td>
<td class="nump">2.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_cwco_RetirementPlanAxis=stpr_CA', window );">California [Member] | Defined Contribution Plan, Employer Matching Contribution, 25 Percent of Match [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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch', window );">Employer Matching Contribution, Percent of Match</a></td>
<td class="nump">25.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_cwco_RetirementPlanAxis=stpr_CA', window );">California [Member] | Defined Contribution Plan, Employer Matching Contribution, 25 Percent of Match [Member] | Maximum [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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch', window );">Employer Matching Contribution, Percent of Match</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanDisclosureLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_DefinedBenefitPlanDisclosureLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 employer matches of the employee's percentage contribution matched.</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_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch</td>
</tr>
<tr>
<td style="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_DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount the employee may contribute to a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 percentage of employee gross pay the employee may contribute to a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent</td>
</tr>
<tr>
<td style="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_PensionExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost (reversal of cost) for pension benefits. Excludes other postretirement benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_cwco_RetirementPlanAxis=country_KY">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">cwco_RetirementPlanAxis=country_KY</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_cwco_RetirementPlanAxis=stpr_FL">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">cwco_RetirementPlanAxis=stpr_FL</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_cwco_RetirementPlanAxis=stpr_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">cwco_RetirementPlanAxis=stpr_CA</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_cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis=cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis=cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>104
<FILENAME>R90.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203050464416">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Financial instruments (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNetAbstract', window );"><strong>Recurring</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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue', window );">Fair value, Assets</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 128,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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Fair Value, Inputs, Level 3 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNetAbstract', window );"><strong>Recurring</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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue', window );">Fair value, Assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">128,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_FairValueByAssetClassAxis=us-gaap_CertificatesOfDepositMember', window );">Certificate of deposit</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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNetAbstract', window );"><strong>Recurring</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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue', window );">Fair value, Assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,500,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_FairValueByAssetClassAxis=us-gaap_CertificatesOfDepositMember', window );">Certificate of deposit | Fair Value, Inputs, Level 2 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNetAbstract', window );"><strong>Recurring</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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue', window );">Fair value, Assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,500,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNetAbstract</td>
</tr>
<tr>
<td style="padding-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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of financial instrument classified as an asset measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByAssetClassAxis=us-gaap_CertificatesOfDepositMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByAssetClassAxis=us-gaap_CertificatesOfDepositMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>105
<FILENAME>R91.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203054543744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Financial instruments - Level 3 activity (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2022 </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_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward', window );"><strong>Net (liability)/asset arising from put/call options</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_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs', window );">Balance as of December 31, 2021</a></td>
<td class="nump">$ 128,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_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales', window );">Unrealized gain</a></td>
<td class="num">(128,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_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs', window );">Balance as of December 31, 2022</a></td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 roll forward is a reconciliation of a concept from the beginning of a period to the end of a 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_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward</td>
</tr>
<tr>
<td style="padding-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_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of sales of financial instrument classified as a derivative asset (liability) after deduction of derivative liability (asset), measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19279-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of financial instrument classified as derivative asset (liability) after deduction of derivative liability (asset), measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19279-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>106
<FILENAME>R92.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203050403184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Financial instruments - Additional Information (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</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_cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue', window );">Number of days after consumption billings are considered past due</a></td>
<td class="text">45 days<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></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_cwco_TermOfForeignExchangeRiskToDollarForCertainCurrencies', window );">Duration certain foreign currencies are fixed to the dollar</a></td>
<td class="text">20 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of days after consumption billings are considered past due.</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;">cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_TermOfForeignExchangeRiskToDollarForCertainCurrencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 duration certain foreign currencies are fixed to the dollar.</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;">cwco_TermOfForeignExchangeRiskToDollarForCertainCurrencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>107
<FILENAME>R93.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203044457840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and contingencies (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_CommitmentsAndContingenciesLineItems', window );"><strong>Contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_EmploymentAgreementBaseAnnualSalaries', window );">Employment Agreement Base Annual Salaries</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4.2<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_cwco_CaymanWaterRetailOperationsPercentageOfRevenue', window );">Cayman Water Retail Operations, Percentage Of Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27.00%<span></span>
</td>
<td class="nump">33.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_CaymanWaterRetailOperationsPercentageOfGrossProfit', window );">Cayman Water Retail Operations, Percentage Of Gross Profit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">44.00%<span></span>
</td>
<td class="nump">47.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_srt_MajorCustomersAxis=cwco_WSCMember', window );">WSC [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_cwco_CommitmentsAndContingenciesLineItems', window );"><strong>Contingencies</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_AccountsReceivableNet', window );">Accounts Receivable, Net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 16.3<span></span>
</td>
<td class="nump">$ 21.5<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent Event [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_CommitmentsAndContingenciesLineItems', window );"><strong>Contingencies</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_LongTermPurchaseCommitmentAmount', window );">Long-term Purchase Commitment, Amount</a></td>
<td class="nump">$ 41.7<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_cwco_CaymanWaterRetailOperationsPercentageOfGrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of consolidated gross profit from Cayman Water retail operations.</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;">cwco_CaymanWaterRetailOperationsPercentageOfGrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</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_cwco_CaymanWaterRetailOperationsPercentageOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of consolidated revenue from Cayman Water retail operations.</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;">cwco_CaymanWaterRetailOperationsPercentageOfRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</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_cwco_CommitmentsAndContingenciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>na</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;">cwco_CommitmentsAndContingenciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_EmploymentAgreementBaseAnnualSalaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the base annual salary amount, under the employment 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;">cwco_EmploymentAgreementBaseAnnualSalaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccountsReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 310<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126942793&amp;loc=d3e3073-115593<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermPurchaseCommitmentAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 minimum amount the entity agreed to spend under the long-term purchase commitment.</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_LongTermPurchaseCommitmentAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=cwco_WSCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cwco_WSCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>108
<FILENAME>R94.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203054572160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related party transactions (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [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_AccountsPayableRelatedPartiesCurrent', window );">Accounts payable outstanding</a></td>
<td class="nump">$ 403,839<span></span>
</td>
<td class="nump">$ 163,947<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_RelatedPartyTransactionsByRelatedPartyAxis=cwco_PercWaterCorporationMember', window );">PERC Water Corporation</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_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [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_RelatedPartyTransactionPurchasesFromRelatedParty', window );">Purchases of services</a></td>
<td class="nump">2,695,000<span></span>
</td>
<td class="nump">438,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_AccountsPayableRelatedPartiesCurrent', window );">Accounts payable outstanding</a></td>
<td class="nump">404,000<span></span>
</td>
<td class="nump">164,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_RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty', window );">Amount of expense related to sublease agreement</a></td>
<td class="nump">$ 97,000<span></span>
</td>
<td class="nump">$ 77,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount for accounts payable to related parties. 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39603-107864<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expenses recognized resulting from transactions (excluding transactions that are eliminated in consolidated or combined financial statements) with related party.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_RelatedPartyTransactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_RelatedPartyTransactionLineItems</td>
</tr>
<tr>
<td style="padding-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_RelatedPartyTransactionPurchasesFromRelatedParty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Purchases during the period (excluding transactions that are eliminated in consolidated or combined financial statements) with related party.</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_RelatedPartyTransactionPurchasesFromRelatedParty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_RelatedPartyTransactionsByRelatedPartyAxis=cwco_PercWaterCorporationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RelatedPartyTransactionsByRelatedPartyAxis=cwco_PercWaterCorporationMember</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>109
<FILENAME>R95.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203051710176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Supplemental disclosure of cash flow information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cwco_SupplementalDisclosureOfCashFlowInformationLineItems', window );"><strong>Supplemental Disclosure Of Cash Flow Information [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_InterestPaidNet', window );">Interest paid in cash</a></td>
<td class="nump">$ 14,797<span></span>
</td>
<td class="nump">$ 10,248<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income taxes paid in cash</a></td>
<td class="nump">211,000<span></span>
</td>
<td class="nump">160,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_NoncashInvestingAndFinancingItemsAbstract', window );"><strong>Non-cash transactions:</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_DividendsPayableCurrentAndNoncurrent', window );">Dividends declared but not paid</a></td>
<td class="nump">1,305,367<span></span>
</td>
<td class="nump">1,298,148<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_cwco_TransfersBetweenInventoryAndPropertyPlantAndEquipment', window );">Transfers from inventory to property, plant and equipment and construction in progress</a></td>
<td class="nump">346,024<span></span>
</td>
<td class="nump">189,924<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_cwco_NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet', window );">Transfers from construction in progress to property, plant and equipment</a></td>
<td class="nump">297,723<span></span>
</td>
<td class="nump">644,224<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Right-of-use assets obtained in exchange for new operating lease liabilities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,852,608<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction', window );">Purchase of equipment through issuance of long-term debt</a></td>
<td class="nump">188,645<span></span>
</td>
<td class="nump">95,707<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=us-gaap_RedeemablePreferredStockMember', window );">Redeemable preferred stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract', window );"><strong>Non-cash transactions:</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_StockIssued1', window );">Stock Issued</a></td>
<td class="nump">133,197<span></span>
</td>
<td class="nump">102,203<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConversionOfStockAmountConverted1', window );">Conversion (on a one-to-one basis) of 6,585 and 11,522, respectively, shares of redeemable preferred stock to common stock</a></td>
<td class="nump">3,951<span></span>
</td>
<td class="nump">6,913<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_cwco_CommonStockIssuedDuringPeriodValueIssuedForServices', window );">Issuance of shares, respectively, shares of common stock for services rendered</a></td>
<td class="nump">$ 9,295<span></span>
</td>
<td class="nump">$ 8,632<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConversionOfStockSharesConverted1', window );">Conversion of Stock, Shares Converted</a></td>
<td class="nump">6,585<span></span>
</td>
<td class="nump">11,522<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=us-gaap_CommonStockMember', window );">Common stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract', window );"><strong>Non-cash transactions:</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_StockIssued1', window );">Stock Issued</a></td>
<td class="nump">$ 521,016<span></span>
</td>
<td class="nump">$ 745,468<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_cwco_CommonStockIssuedDuringPeriodValueIssuedForServices', window );">Issuance of shares, respectively, shares of common stock for services rendered</a></td>
<td class="nump">$ 72,597<span></span>
</td>
<td class="nump">$ 88,488<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_CommonStockIssuedDuringPeriodValueIssuedForServices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 common stock issued in lieu of cash for services contributed to the entity. Value of the stock issued includes, but is not limited to, services contributed by vendors and founders.</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;">cwco_CommonStockIssuedDuringPeriodValueIssuedForServices</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 transfers from Construction in Progress to property, plant and equipment, net.</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;">cwco_NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_cwco_SupplementalDisclosureOfCashFlowInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">cwco_SupplementalDisclosureOfCashFlowInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cwco_TransfersBetweenInventoryAndPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 transfers from inventory to property plant and equipment and construction in progress.</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;">cwco_TransfersBetweenInventoryAndPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cwco_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ConversionOfStockAmountConverted1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 value of the stock converted in a noncash (or part noncash) transaction. Noncash is defined as transactions during a period that do not result in cash receipts or cash payments in the period. "Part noncash" refers to that portion of the transaction not resulting in cash receipts or cash payments in 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4313-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4332-108586<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConversionOfStockAmountConverted1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ConversionOfStockSharesConverted1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares converted in a noncash (or part noncash) transaction. Noncash is defined as transactions during a period that do not result in cash receipts or cash payments in the period. "Part noncash" refers to that portion of the transaction not resulting in cash receipts or cash payments in 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4313-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4304-108586<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4332-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConversionOfStockSharesConverted1</td>
</tr>
<tr>
<td style="padding-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_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 debt issuance costs that were incurred during a noncash or partial noncash transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4304-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4313-108586<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4332-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DividendsPayableCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 dividends declared but unpaid on equity securities issued by the entity and outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4297-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4297-108586<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3367-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_NoncashInvestingAndFinancingItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NoncashInvestingAndFinancingItemsAbstract</td>
</tr>
<tr>
<td style="padding-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_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for 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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_StockIssued1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fair value of stock issued in noncash 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4304-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4332-108586<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4313-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssued1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_StatementClassOfStockAxis=us-gaap_RedeemablePreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_RedeemablePreferredStockMember</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=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>110
<FILENAME>R96.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.1</span><table class="report" border="0" cellspacing="2" id="idm140203046391824">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Subsequent events (Details)<br> $ in Millions</strong></div></th>
<th class="th">
<div>Jan. 04, 2023 </div>
<div>USD ($) </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_srt_OwnershipAxis=cwco_PercWaterCorporationMember', window );">PERC Water Corporation | Subsequent Event [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_SubsequentEventLineItems', window );"><strong>Subsequent Event [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_BusinessCombinationConsiderationTransferred1', window );">Cash</a></td>
<td class="nump">$ 2.4<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestOwnershipPercentageByParent', window );">Ownership interest held</a></td>
<td class="nump">100.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_BusinessAcquisitionAxis=cwco_PercWaterCorporationMember', window );">PERC Water Corporation</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_SubsequentEventLineItems', window );"><strong>Subsequent Event [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_BusinessAcquisitionPercentageOfVotingInterestsAcquired', window );">Ownership interest acquired</a></td>
<td class="nump">39.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Cash</a></td>
<td class="nump">$ 7.8<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_BusinessAcquisitionAxis=cwco_PercWaterCorporationMember', window );">PERC Water Corporation | Subsequent Event [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_SubsequentEventLineItems', window );"><strong>Subsequent Event [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_BusinessAcquisitionPercentageOfVotingInterestsAcquired', window );">Ownership interest acquired</a></td>
<td class="nump">39.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Cash</a></td>
<td class="nump">$ 2.4<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions', window );">Shares of the Company's common stock | shares</a></td>
<td class="nump">368,383<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_BusinessAcquisitionPercentageOfVotingInterestsAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 voting equity interests acquired at the acquisition date in the business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired</td>
</tr>
<tr>
<td style="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_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126975305&amp;loc=d3e6927-128479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_MinorityInterestOwnershipPercentageByParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 parent entity's interest in net assets of the subsidiary, expressed as a percentage.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestOwnershipPercentageByParent</td>
</tr>
<tr>
<td style="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_StockIssuedDuringPeriodSharesAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of stock issued during the period pursuant to acquisitions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesAcquisitions</td>
</tr>
<tr>
<td style="padding-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_SubsequentEventLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.</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_SubsequentEventLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_OwnershipAxis=cwco_PercWaterCorporationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OwnershipAxis=cwco_PercWaterCorporationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cwco_PercWaterCorporationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BusinessAcquisitionAxis=cwco_PercWaterCorporationMember</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>111
<FILENAME>cwco-20221231x10k_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2022"
  xmlns:currency="http://xbrl.sec.gov/currency/2022"
  xmlns:cwco="http://www.cwco.com/20221231"
  xmlns:dei="http://xbrl.sec.gov/dei/2022"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:stpr="http://xbrl.sec.gov/stpr/2022"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  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="cwco-20221231.xsd" xlink:type="simple"/>
    <context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_aMyjne3ank2zdlEWi_TxwA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</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="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_CBOsmqEgOkK9j884bTYxMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_lwQBd0ht_UyOaipQ5wIuzA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</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="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_NE1AbW1U0UeKPG1EhuZDcw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</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="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_rVMUroAZQEKpn1M2U6Ow0g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Yff6h3QjVEa8xnGdDclZdQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</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="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_npc_G5l0Gk2HnaD5NWvfww">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_hL37mlRu9EWYYOlxr22q_A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_upiEpremuE-xQKoZZfeJog">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_sBcY1Btx90SbkhJ3vi2W-A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_2NH0HbQNxU6mJ19nM52FFQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</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="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_J6J75thyq06qykW7F5TwWw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_3zS89l0s00S1RPfi4v04Bw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</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="As_Of_12_31_2020_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_-tneCKrH1kGaOJDN-8HjkA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_3HKYTqvya0ymy8WxbSHR_A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_BelowMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_U8fmxZfreESzGZVveNylig">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">cwco:EmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:BelowMarketPriceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_uc9G2doOAk6gDMGKHi2OBA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">cwco:EmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AtMarketPriceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_dNnvrkzTnEiILpSof4P2WQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">cwco:EmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AboveMarketPriceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_TitleOfIndividualAxis_cwco_ManagementEmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_oEXCb0pyBU6wJ7xtjQONbQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">cwco:ManagementEmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AtMarketPriceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_TitleOfIndividualAxis_cwco_ManagementEmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_oozbxK7VOEWkjdc9vd9Fjw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">cwco:ManagementEmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AboveMarketPriceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_BelowMarketPriceMember_84bejj63qkSkKybWqZzt3Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:BelowMarketPriceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_GMWLzigV10uKU4FXNJ-JqA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AtMarketPriceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_4Cs5yVrAU02Ko9yUPxYmog">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AboveMarketPriceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_BelowMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_aldM8JOXXUO7FpoAU_IGRw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">cwco:EmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:BelowMarketPriceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_pJUE9bi3HEmmDAZpDfwiXA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">cwco:EmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AtMarketPriceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_CGdTQbI4FkKOsl6kFYRxNg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">cwco:EmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AboveMarketPriceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_TitleOfIndividualAxis_cwco_ManagementEmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_4WIqsqu0lUyymfxmXWjHQg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">cwco:ManagementEmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AtMarketPriceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_TitleOfIndividualAxis_cwco_ManagementEmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_X2_WIujCSEyrHmh5KI2wtA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">cwco:ManagementEmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AboveMarketPriceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_BelowMarketPriceMember_55Qtr8My8EeW1Yd89VExIA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:BelowMarketPriceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_51BWjSPjyEWDqgxj1vA0-g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AtMarketPriceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_gOE3r0UpzE2QI5wMkGJciw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">cwco:AboveMarketPriceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonExecutiveDirectorsSharePlanMember_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_a0Iiqpr9Akydno-GPTlkMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cwco:NonExecutiveDirectorsSharePlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_CommonStockOptionsMember_us-gaap_OptionIndexedToIssuersEquityTypeAxis_us-gaap_EmployeeStockOptionMember_SUkL0fscsEmdQK_KX5vwWw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cwco:CommonStockOptionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_CommonStockOptionsMember_us-gaap_OptionIndexedToIssuersEquityTypeAxis_us-gaap_EmployeeStockOptionMember_AQCq0oLNvkCrjC1ecePAKQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cwco:CommonStockOptionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonExecutiveDirectorsSharePlanMember_-Bt7YAbgJUy0saiAWkoilA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cwco:NonExecutiveDirectorsSharePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_NonExecutiveDirectorsSharePlanMember_iPB0rpgeFUGXw4ePaRVNTQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cwco:NonExecutiveDirectorsSharePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesRevenuesMember_ZrmTNwyW1025wAkuvps4Dg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ServicesRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_RetailRevenuesMember_JQ-ibT6FxUGrfvneRYbxHA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:RetailRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingRevenuesMember_L2hfymQ1t0iePOuBfVj1NA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkRevenuesMember_HRksc1ACyU-matZYrJz-GA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:BulkRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_VG_VudHKE0yR0OV5ND7dIJn7Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VG</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_US_uBo_fz05N0mnkK6jRORx0A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_KY_LGMwzhuDBEeoIKH3HuSbRg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KY</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_BS_qBh3Nc-_h0aLnwGNiWhXwQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BS</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesRevenuesMember_TEqoFvdKH0SxHTuQd6k5-g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ServicesRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_RetailRevenuesMember_Z_vR6-tG9ECKY6a-b8hUrA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:RetailRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingRevenuesMember_MB4Uw3KolEaV_KC6kmFkYA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkRevenuesMember_8No9bIx1Z02NFBj0vQVdEQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:BulkRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_VG_ukkHuCZRgkyxA4Fzlpyaeg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VG</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_US_WQ1NEC1960Ge0YwTP5I_wg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_KY_10Bchwih-UCG-OIAJ0ASsQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KY</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_BS_QoTCoVIlek6KVicMqAXEzg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BS</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_cwco_cnst_date_20241231_7G14Fu6DbUOM9cpNk5V06w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2024-12-31</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_cwco_cnst_2023-12-31_xdSBFhmI80G1jIpP1DOrQw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2023-12-31</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_cwco_cnst_2022-12-31_pDIaB1foqk-hwPkXpc-QtQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2022-12-31</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember_LyW64rO_ykaR5tjMzwa9aA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfSalesMember_v0OLl8BXo0WTErurXssnTQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember_VtgY5MG7JkyLzIBSWRs00A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfSalesMember_FWegh57lq0G40qMIOWy0tg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_cwco_PercWaterCorporationMember_iSPiZunAVk6dezcZHWn32w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">cwco:PercWaterCorporationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_cwco_PercWaterCorporationMember_jYS-R1U8vU6_Xhm4uPjjeQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">cwco:PercWaterCorporationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_uF3oC7vwEUmjNVP-o-PC7w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_4gvcaCV6aE-mIKHXLi0oSQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_Em3nfjzlyUiOsxJ6aR_9TQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_PlantAndEquipmentMember_Qil96oGDl0qWbByqsXAADA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:PlantAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_LabEquipmentMember_5KH2J5dfSU-DHtl0XB3YmQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:LabEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_DistributionSystemsMember_PNci2u4eqkyApssLolKcaQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:DistributionSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_w8PCy4tBzU2eNLFJw7Ja3w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_UjybnyBM_0eHUN7wuvYzxw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_CrRhqVKpokSFVglsF_8dyw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_PlantAndEquipmentMember_FjX_9MaEwEGsQIjmNL3JaA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:PlantAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_LabEquipmentMember_L-PZFWVK7UKJJGq1RJmH1g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:LabEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_DistributionSystemsMember_rKTwVQ67QUSsFaSM1Zsv9Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:DistributionSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_US_-X9B-7Q8mke3TrF_DHHdeg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_KY_aytbaBe1RESSQ-KE0shQeg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KY</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_BS_IREMcZqPMEu7y9eIsurthQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BS</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_US_h3yTQxDRmkygbqn2Lrhrmw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_KY_G0NcxKf4J02alFaw0VPRbA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KY</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_BS_3RfaHR7Dg0udZ2YQ4jDT1w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BS</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_mw3wyW_9LU6U448K2z4pRw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_EOtT9ovp6kKj_c6U2eUzbw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_q1bM9bwnUEO2UEWy0T-ohw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_QloPZuaO-UCvfutzvAz0LQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_-XEZN2yfpUyMrWj0DeQ0TQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_PlantAndEquipmentMember_VRKix0K_Nk-xYFNeN_XZ1g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:PlantAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_LabEquipmentMember_QMnj4GPSqUGYeP5yGVt5Xg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:LabEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_DistributionSystemsMember_HYs72WwND0aaruOAZ7g27Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:DistributionSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_FIwZb1208EC6qe0eO3ir6Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_0ibF_bVy7kWco3HBqVjc-A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_Rs3QYfM3aEuEDEk-lOiWtg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_W1k_tDFvwECgbdd0je_3qA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_9t5ABujKlEik3aHffAM6tQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_PlantAndEquipmentMember_3mrFm3mOyEWHAExx_pe8Pg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:PlantAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_LabEquipmentMember_Wwjt8Ir4H0q_Okmavwhc3g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:LabEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_DistributionSystemsMember_2c7g3Pkv9EGiLLSobFyycQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cwco:DistributionSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_8DqshODSZUmg5Cds-Qvpbw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_CapitalizedEngineeringLaborAndMaterialsCostMember_KZbKo2oHK0q9AusqI4_JuQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:CapitalizedEngineeringLaborAndMaterialsCostMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_CapitalizedEngineeringLaborAndMaterialsCostMember_ALWgIFPLZ0OhruLlg_Jtfw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:CapitalizedEngineeringLaborAndMaterialsCostMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_us-gaap_StateAndLocalJurisdictionMember_TrJgMKQXDUetfuk7-YM0KA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_sxJ6C8OwfkiN2lItOCO1iw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_us-gaap_SegmentDiscontinuedOperationsMember_JCZRleBWJkGWVn_E0g9T5w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_us-gaap_SegmentDiscontinuedOperationsMember_WgnnAf8oCUa5AzpqHy0lwA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_1_4_2023_srt_OwnershipAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_5JH0iRvD3EWeoHNXQ5FD9g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">cwco:PercWaterCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-04</instant>
        </period>
    </context>
    <context id="As_Of_2_28_2018_srt_OwnershipAxis_cwco_NSCAguaMember_W0-Wx1olUkqDOFvFloVsPQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">cwco:NSCAguaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-02-28</instant>
        </period>
    </context>
    <context id="Duration_2_9_2022_To_2_9_2022_srt_RangeAxis_srt_MinimumMember_EOswmxyBV0q740-H_b28LA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-09</startDate>
            <endDate>2022-02-09</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_O-UnVApJ9ESzxllq2JlKMQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_2_9_2022_To_2_9_2022_pijHGs4rBEOq-frQM5E_xw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
        </entity>
        <period>
            <startDate>2022-02-09</startDate>
            <endDate>2022-02-09</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_cwco_WaterStockMember_T-N1HEvbfkWbrE4HvY8WYA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cwco:WaterStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_cwco_SparePartsStockMember_1NXF2RIfEEOpIVmEUIJKxw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cwco:SparePartsStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_cwco_ConsumablesStockMember_G73ZcJAil0urdxdXRkvu0g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cwco:ConsumablesStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_cwco_WaterStockMember_vhVPTC7NI06wr0sLixMhyg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cwco:WaterStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_cwco_SparePartsStockMember_olmPGB-pVkiqMgFCV4q4MQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cwco:SparePartsStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_cwco_ConsumablesStockMember_xMIfagRwP0u3iCE1KoSeQA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cwco:ConsumablesStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_6_1_2021_To_6_30_2021_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_RTyQ1FjV0kqcpBL6Mq6EjQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-06-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_Xq0O_aVBCEi8yhG6kjD16g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2016_To_12_31_2016_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_uWxQ9n9Tckunz21IObTwrQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2016-01-01</startDate>
            <endDate>2016-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_g2y86SHeUU6VaM8OOFTTQQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_LpiTapxNU06_IQvMX1-U3g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_qMEBcGGIgUm7wdekuaQQmg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_ProfessionalsFeeMember_1twsjW8lhkq1AlUBpxggJQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:ProfessionalsFeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_OtherCreditDeviceMember_Dzk2dI800Uu7HiCihH5VzA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:OtherCreditDeviceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_OfficeRentMember_6yHLrRL1-0WwJfy-7XaGKA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:OfficeRentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_DirectorsFeesAndExpensesMember_ef659NXfWkajdwo8FM7Ogw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:DirectorsFeesAndExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_AmortizationOfIntangiblesMember_tS1JMDtniUOT2xwxsSNm-w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:AmortizationOfIntangiblesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_ProfessionalsFeeMember_cBzlfvMR2EKesUCnKHTDFw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:ProfessionalsFeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_OtherCreditDeviceMember_eG9vT2tEA0K_f5i4QKLeuw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:OtherCreditDeviceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_OfficeRentMember_qdnjxSDjfUuw726x2no2rw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:OfficeRentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_DirectorsFeesAndExpensesMember_jjWf027980ObM2mgJaOYnw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:DirectorsFeesAndExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_AmortizationOfIntangiblesMember_TZH2krkk8k2yUvokVGYscA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:AmortizationOfIntangiblesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_dSyy5sHtkk-I4iK5xQeeqg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_TradeNameMember_2rcjDwPRJ0ejPLHq9Lw65Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">cwco:TradeNameMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_ManagementContractsMember_VJ1yIW5kFkKdvZZUmgwUxw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">cwco:ManagementContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_7xr6HpDAjES_eff6mejQ9g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_TradeNameMember_qMZ8XiFfpE2bNTaPCP05Ag">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">cwco:TradeNameMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_ManagementContractsMember_y5_U8cT2Ekeb7YYl-1n1aA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">cwco:ManagementContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_FairValueByAssetClassAxis_us-gaap_CertificatesOfDepositMember_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_sPBH5R3JWkKvlSheo55J9g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_ghdFbST_AUCaVYhxmTxIfg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_FairValueByAssetClassAxis_us-gaap_CertificatesOfDepositMember_VU-7yE45pEW9Wn-NHJPF7g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_8_31_2016_srt_OwnershipAxis_cwco_NSCAguaMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_cwco_AguasDeRosaritoSapiDeCvMember_CUyCWJnWt0yfe3bZF2yAeQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">cwco:NSCAguaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">cwco:AguasDeRosaritoSapiDeCvMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-08-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityTypeAxis_us-gaap_EmployeeStockOptionMember_LeMarUzIOEWFkjFGt8_imw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_cwco_RetirementPlanAxis_stpr_FL_DKqplJkX-EWxKCap_J3jKw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="cwco:RetirementPlanAxis">stpr:FL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_cwco_RetirementPlanAxis_country_KY_oKOWIjfHuEKj9Yn2V7stfA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="cwco:RetirementPlanAxis">country:KY</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis_cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember_cwco_RetirementPlanAxis_stpr_CA_srt_RangeAxis_srt_MaximumMember_EjJiUeYjPESXBUAtMfRLxA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="cwco:DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis">cwco:DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="cwco:RetirementPlanAxis">stpr:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis_cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember_cwco_RetirementPlanAxis_stpr_CA_OHPJx1cwnk6tGqUNUKaP2w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="cwco:DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis">cwco:DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="cwco:RetirementPlanAxis">stpr:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_cwco_RetirementPlanAxis_stpr_CA_98NNUc1ilECucy-49BuTuw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="cwco:RetirementPlanAxis">stpr:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_OtherExpenseMember_Jqvw6ii1bUqbPg7Ok9p7XA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:OtherExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_MaintenanceMember_x8Fsfq_31ky5ONjU1hMwPw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_ElectricityMember_yq2PdP9dpk6oPpPYdLC2Hw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:ElectricityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_SubcontractorAndOtherProjectCostsMember_XhU9vS8_20W29yC7N_03Wg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:SubcontractorAndOtherProjectCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_IRt6ToTRWEanbUvHNX-vUw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2aHUbdhyQk2ZfxNmGwqxTw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:SegmentRetailMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_RoyaltiesMember_YF1aUPpxdUCSJX1stTDoXg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:RoyaltiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_nkB06WxPA0OxXc7f_h07Zg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_InsuranceMember_fmq4MiOMy0ub2rIL9u0Kdg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:InsuranceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_FuelOilMember_6GPmBn3L-0KPvFtTnlY1BQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:FuelOilMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_EmployeeCostsMember_bIWKq5RfEkiFNs9Aq6N5_Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:EmployeeCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_DepreciationMember_sLS-p1a5IESi2YQ7C-rTjA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:DepreciationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_CostOfPlantSalesMember_mLcVbsFXBEiaUjTcypQlyg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:CostOfPlantSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_YEVu63Hoi0q9QEyPbknlzw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:BulkMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_OtherExpenseMember_vbXMWytAKkOCFtxYZjX4lg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:OtherExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_MaintenanceMember_6iYt2gEtEUGezZ9OVF7xVg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_ElectricityMember_f8IXGKyadkyYilGhZ4F9Dg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:ElectricityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_SubcontractorAndOtherProjectCostsMember_p8hLBubTtEai_O-YymOVjQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:SubcontractorAndOtherProjectCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_RoyaltiesMember_N47O_RTFH0WOiA3GtBgSew">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:RoyaltiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_InsuranceMember_rK2O92hQvUeRfxQOrAmZbw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:InsuranceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_FuelOilMember_R-wITW4xLk6FWS8D8MP55w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:FuelOilMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_EmployeeCostsMember_40yYODM2M0m4eLrz6c5tlg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:EmployeeCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_DepreciationMember_Rx0GvWPc-EipH48w2y44cg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:DepreciationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_CostOfPlantSalesMember_eN551kVrsE2ZDDKBtVQSTw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:CostOfPlantSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_cXdBb_NVyEyv0R-Mp02DsA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</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>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_GrossProfitMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_1STKPf6TiUeVe3wSNKAiPg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cwco:GrossProfitMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassBMember_CNVGN63SQUmDkK1HNKqZ2Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_ZVzwBZGRcUmURhjGB3mM7Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassBMember_j7t5QY8ABkWqw-1qgBI1dw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_vh2QUCelvEC4r_5iR09Lbg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_5_14_2008_us-gaap_OptionIndexedToIssuersEquityTypeAxis_cwco_EquityIncentivePlan2008Member_16nn6bq2CUeGWVe6B8GRLA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityTypeAxis">cwco:EquityIncentivePlan2008Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2008-05-14</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_BS_us-gaap_CashAndCashEquivalentsAxis_us-gaap_CertificatesOfDepositMember_0Z6rk_q0Okujdj5GX5uvJA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BS</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_CashAndCashEquivalentsAxis_us-gaap_CertificatesOfDepositMember_w-26Mh_Jl0ODGylH5Bbo-Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_BS_us-gaap_CashAndCashEquivalentsAxis_us-gaap_CertificatesOfDepositMember_8rUdYW5GDUGAiZfRLOOF2A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BS</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_CashAndCashEquivalentsAxis_us-gaap_CertificatesOfDepositMember_hlxQMQYPNkypuuFEVTJm0Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_CurrencyAxis_currency_USD_RQ8hUvb1hEOUgjDr_01DPQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:USD</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_CurrencyAxis_currency_KYD_OoWJjtLIBUeT6bIZ4dIATA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:KYD</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_CurrencyAxis_currency_BSD_UPtKyAOKmEKIJZRtQDMYqg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:BSD</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_CurrencyAxis_currency_USD_RBtuWvMU0Em1L6I-r0D8eg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:USD</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_CurrencyAxis_currency_KYD_D_uv01voGECpchOEfrb4VQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:KYD</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_CurrencyAxis_currency_BSD_p-g5Rvz1W0Cs0_Ixm8zfAQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:BSD</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_4_2023_To_1_4_2023_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_yOgK1SLiHkOOenJfWHS0YA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:PercWaterCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-04</startDate>
            <endDate>2023-01-04</endDate>
        </period>
    </context>
    <context id="Duration_1_4_2023_To_1_4_2023_srt_OwnershipAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_UxDkQZ43KEKIN7Oj-2FtIw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">cwco:PercWaterCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-04</startDate>
            <endDate>2023-01-04</endDate>
        </period>
    </context>
    <context id="Duration_1_4_2023_To_1_4_2023_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_nxzepvPzM0KtcDwK9rOS1g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:PercWaterCorporationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-04</startDate>
            <endDate>2023-01-04</endDate>
        </period>
    </context>
    <context id="As_Of_1_4_2023_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember__4drtsrZXESsUSyeQaBULg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:PercWaterCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-04</instant>
        </period>
    </context>
    <context id="As_Of_1_4_2023_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_M9Tj3LyaM0eIw-2WpzSUOw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:PercWaterCorporationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-04</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2012_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_cwco_NSCAguaMember_nJS1kulStUK0Kdgxr5V7Gg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">cwco:NSCAguaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2012-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_C1Q_2pxGgEajIBJo0wB9rQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_TLtZahT8OESWkwJywg0TxQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cwco:NonperformancebasedGrantsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_CoTYfknnZkWQ6jcDlAa32g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_8L9TdyjAwUmKrhFBWu0n3A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_sVZM8sptB060CYkSHWHWRA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_I2OmzWVSNkSCzqLm30ZhFQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QJOC8_YvekSx3jYgssHhsg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_2UsxKjkbU0ikVBMMDThnkA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_A5Sm1Xw1fE6wyiLPCVUhkw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_ibTALvn6G0O1xlMvSAp0HA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_10_1_2019_To_10_31_2019_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_qJv6rTnCrUOw3DapZWXfEQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:PercWaterCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-10-01</startDate>
            <endDate>2019-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2016_To_2_29_2016_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_wIPNOocXKEOnANGxioMlCQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2016-02-01</startDate>
            <endDate>2016-02-29</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_MajorCustomersAxis_cwco_WSCMember_qBKQcLXzfkOhn3zBjmX31Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cwco:WSCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_MajorCustomersAxis_cwco_WSCMember_3t1KGfarBU-BjDelzIMeqw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cwco:WSCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_cwco_PercWaterCorporationMember_V92CEwDlokyy-KCOgpl1dA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">cwco:PercWaterCorporationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_cwco_PercWaterCorporationMember_K_j9JEvI_UO9v1KqTSC8xg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">cwco:PercWaterCorporationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2022_CpskOIngdUGv6wyhPW6Hzw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="As_Of_3_24_2023_9sHmSgSBwUCqsg_zXEQ96g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
        </entity>
        <period>
            <instant>2023-03-24</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_PerformancebasedGrantsMember_V-Wlg5yZHkqFDTqJViFW7A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cwco:PerformancebasedGrantsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_-o2zEQaSHkqorN6pHkRDrg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cwco:NonperformancebasedGrantsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_PerformancebasedGrantsMember_WkphmXfbEEGIfdh9g_0VTg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cwco:PerformancebasedGrantsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_8_22_2016_To_8_22_2016_cwco_TypeOfPhasesAxis_cwco_SecondPhaseMember_srt_OwnershipAxis_cwco_NSCAguaMember_CRd5YYF9mEufmgRhhivLeQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">cwco:NSCAguaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="cwco:TypeOfPhasesAxis">cwco:SecondPhaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2016-08-22</startDate>
            <endDate>2016-08-22</endDate>
        </period>
    </context>
    <context id="Duration_8_22_2016_To_8_22_2016_cwco_TypeOfPhasesAxis_cwco_FirstPhaseMember_srt_OwnershipAxis_cwco_NSCAguaMember_roSAHkYavES55nLQFW9Rqw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">cwco:NSCAguaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="cwco:TypeOfPhasesAxis">cwco:FirstPhaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2016-08-22</startDate>
            <endDate>2016-08-22</endDate>
        </period>
    </context>
    <context id="Duration_5_1_2010_To_5_31_2010_srt_OwnershipAxis_cwco_NSCAguaMember_o1P21uztVUeONg-bTW14zA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">cwco:NSCAguaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2010-05-01</startDate>
            <endDate>2010-05-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_SXc5aIGFJU2gV7zovx78OA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">cwco:MexicoProjectDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_Zz0y3hTN3UeiDEFFxvFEiQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">cwco:MexicoProjectDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_8_22_2016_To_8_22_2016_srt_OwnershipAxis_cwco_NSCAguaMember_ZQ2zplKDEUKq2piBPsd4sg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">cwco:NSCAguaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2016-08-22</startDate>
            <endDate>2016-08-22</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2012_To_12_31_2012_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_cwco_NSCAguaMember_1K26GRGPsU6Fce9D2BT6gQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">cwco:NSCAguaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2012-01-01</startDate>
            <endDate>2012-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_JXh8waiEEEKrYIEZO0oMNA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_6_29_2020_To_6_29_2020_sPMd70VDuUCJoqa8nbPbZQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
        </entity>
        <period>
            <startDate>2020-06-29</startDate>
            <endDate>2020-06-29</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_kEbnJUzLjE2FsIu-1h89WA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_jGE2s8GJJkWvq8WTeRNORA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_Gl5483341kqHQU7d8i3CcQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="Duration_6_1_2021_To_6_30_2021_cwco_FairValueDeterminingMethodAxis_cwco_GuidelinePublicCompanyMethodMember_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_QnWNYZr1aU2yBA8BoGe2yg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="cwco:FairValueDeterminingMethodAxis">cwco:GuidelinePublicCompanyMethodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-06-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="Duration_6_1_2021_To_6_30_2021_cwco_FairValueDeterminingMethodAxis_cwco_DiscountedCashFlowMethodMember_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_vwIK9Cj09Uaz5vGO9GKkMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="cwco:FairValueDeterminingMethodAxis">cwco:DiscountedCashFlowMethodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-06-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_cwco_FairValueDeterminingMethodAxis_cwco_GuidelinePublicCompanyMethodMember_JU9dvwDmDUKF9tdpPFKbLw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="cwco:FairValueDeterminingMethodAxis">cwco:GuidelinePublicCompanyMethodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_cwco_FairValueDeterminingMethodAxis_cwco_DiscountedCashFlowMethodMember_S9l0DYfIFEGZh49BRV-2wQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="cwco:FairValueDeterminingMethodAxis">cwco:DiscountedCashFlowMethodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_cwco_FairValueDeterminingMethodAxis_cwco_GuidelinePublicCompanyMethodMember_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_MHHEvXRhcUGCYVTyKvHmIA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="cwco:FairValueDeterminingMethodAxis">cwco:GuidelinePublicCompanyMethodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_cwco_FairValueDeterminingMethodAxis_cwco_DiscountedCashFlowMethodMember_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_21QoIM_rokG9s_Bq4-iyzQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="cwco:FairValueDeterminingMethodAxis">cwco:DiscountedCashFlowMethodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_YQxK6fXQiEq2dHsFaCDZRA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cwco:AerexIndustriesIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_6gOn62bGkUyBNtALONgh0Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2vl2R6GlI06abktd3rVnpQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:SegmentRetailMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_HNPzq4QEk02hzXW6t4ppyg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_354kqbefw0aUK7SVE131BQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:BulkMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_7IdFP3y9GUK4CqDwqwuYqA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_cwco_WaterAndSewerageCorporationMember_esbf11VJtECLay_63AnQqw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cwco:WaterAndSewerageCorporationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_cwco_OneCustomerMember_9QIwsDVJX0C42rsJ6oSh1g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cwco:OneCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_cwco_WaterAndSewerageCorporationMember_3nw4hEHvOUKq9XyzXSvAZg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cwco:WaterAndSewerageCorporationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_cwco_OneCustomerMember_lcJWJF1fG0C0RkmArUO7Sw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cwco:OneCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_10_1_2022_To_12_31_2022_-oElvctT2E2iCas2iUBgNg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
        </entity>
        <period>
            <startDate>2022-10-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_7_1_2022_To_9_30_2022_NsZM1mrQEUeBajSIepdPgQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_6_30_2022_KWISKwBNxk6Fodei6dW_oA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_VZ-Hp1VMckyT6pla0npLNw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_10_1_2021_To_12_31_2021_wQS9cikntUeiK4UOCeJOAQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_7_1_2021_To_9_30_2021_1tLgiMlUY02WY9O8BWiB_A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2021_To_6_30_2021_bqhiZq-Z1Emw_qHVhtG5MA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_3_31_2021_uuEE-5V0ZkWDT-R-7k-0qw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_iY1jPOijHk6biRp1Mim8bA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">cwco:MexicoProjectDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_EiEaJPjeIUm9qIXa_8FpnQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">cwco:MexicoProjectDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_8_28_2020_To_8_28_2020_ZfbhLREj80G86h6sYfxZrA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
        </entity>
        <period>
            <startDate>2020-08-28</startDate>
            <endDate>2020-08-28</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_cb8Hwa4bnkurzN00jZkoNw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_BRXp6TrknEizerUcsq5ffw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:SegmentDiscontinuedOperationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonStockMember_ROTuIP-Ci0azhf2ymCxf_g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_AjbJjcVS60Oq3_8Jk4K9Og">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonStockMember_fPb33q03cUOApGb1OUAYcA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_pxLqNsYtpU-9zhcxX9fmtg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_yMI9TJT-Yk6yWsERADhHnQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:SegmentRetailMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_wxINsIqBXkCzaTLgmTHg1w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_xkyubD2rlkm1lvMQEhsMKA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:BulkMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_DnuL5xir2EGdN8ch70dVVA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_t-WGu84yA0WBcTVNs_Ujzg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:SegmentRetailMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_C80WhF3-F0q5OZlO-1TxgA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:ManufacturingUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_kEOiRg9EdUmY3kDhVT3eHA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cwco:BulkMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_2cgc8-j8cUCv6seVGLB6Uw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000928340</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <unit id="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Unit_Standard_gal_UpEjAnoTDkiUT8wjiEd8vw">
        <measure>utr:gal</measure>
    </unit>
    <unit id="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">
        <measure>pure</measure>
    </unit>
    <unit id="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Unit_Standard_MXN_NKR-5MDyu0K7g_77FJiDAw">
        <measure>iso4217:MXN</measure>
    </unit>
    <unit id="Unit_Standard_customer_I__u2hNVxESU-KAhCd2jdg">
        <measure>cwco:customer</measure>
    </unit>
    <unit id="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">
        <measure>shares</measure>
    </unit>
    <unit id="Unit_Standard_ha_DTzSJvvPjEizTLVgW4jN-Q">
        <measure>utr:ha</measure>
    </unit>
    <unit id="Unit_Standard_segment_oJ9B98qfoEOgvam78GGlOQ">
        <measure>cwco:segment</measure>
    </unit>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      id="Hidden_JvLrOTcK6UqyMIn7P7vVag"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      id="Hidden_C4UATAKuh0uK17UdZuoWYQ"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA"
      xsi:nil="true"/>
    <dei:EntityCentralIndexKey
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tc_rrqbxxsa1k6wZ3PlDUd2lg_1_1">0000928340</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tc_Q-sb7fT1DUCx2fvbdvUJNA_2_1">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tc_S8yN3G3t802NBoftn27-og_3_1">2022</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tc_hFQ7hfgpKUu7wrEajY89kA_4_1">FY</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tc_zOkqTrhLOk6th-Kz5IKwNg_5_1">false</dei:AmendmentFlag>
    <dei:EntityIncorporationStateCountryCode
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Hidden_YsBfAwV42k6d7z45AQwZMw">KY</dei:EntityIncorporationStateCountryCode>
    <us-gaap:PreferredStockSharesIssued
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="INF"
      id="Hidden_GPyCbHnH7kiOEf_rV-cNWg"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">28635</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="INF"
      id="Hidden_nHpl61QsaUKDOfPdaFxIng"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">34383</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_vh2QUCelvEC4r_5iR09Lbg"
      decimals="INF"
      id="Hidden_4F6JmzwLM0-07_P8GK15VQ"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">15243693</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_ZVzwBZGRcUmURhjGB3mM7Q"
      decimals="INF"
      id="Hidden_fueN_H1LAUK7VqpFsfWdQQ"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">15322875</us-gaap:CommonStockSharesOutstanding>
    <cwco:NumberOfDaysAfterConsumptionBillingsAreCollected
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_jGE2s8GJJkWvq8WTeRNORA"
      id="Hidden_Mq4RJyVkUUicibqvX6HN6A">P45D</cwco:NumberOfDaysAfterConsumptionBillingsAreCollected>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="As_Of_12_31_2022_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_cwco_cnst_2022-12-31_pDIaB1foqk-hwPkXpc-QtQ"
      id="Hidden_IYfoFNovFk6_DJ7VkUWbZg">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="As_Of_12_31_2022_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_cwco_cnst_2023-12-31_xdSBFhmI80G1jIpP1DOrQw"
      id="Hidden_krpoWHDnsEuXcTJZVPGkeA">P2Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="As_Of_12_31_2022_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_cwco_cnst_date_20241231_7G14Fu6DbUOM9cpNk5V06w"
      id="Hidden_-N3RFjmXGU2GbGZ4UxVTaQ">P3Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_A5Sm1Xw1fE6wyiLPCVUhkw"
      id="Hidden_91hD7DAcuEWByb9hPsVsfg">P3Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_ibTALvn6G0O1xlMvSAp0HA"
      id="Hidden_RdQbXo2Mg0Gum4zs_sJGPA">P5Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="Duration_2_1_2016_To_2_29_2016_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_wIPNOocXKEOnANGxioMlCQ"
      id="Hidden_NWCWAsh4-U-6RasXWCt7Kg">P15Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <cwco:AdditionalConsecutiveIndividualRequisiteServicePeriod
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_2cgc8-j8cUCv6seVGLB6Uw"
      id="Hidden_m6oR_p4jC0S6jabQ6DdScQ">P4Y</cwco:AdditionalConsecutiveIndividualRequisiteServicePeriod>
    <cwco:NumberOfDaysOfAverageTradingPriceOfCommonStock
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_2cgc8-j8cUCv6seVGLB6Uw"
      id="Hidden_g43qDNLa60qa927jd3oQ1Q">P7D</cwco:NumberOfDaysOfAverageTradingPriceOfCommonStock>
    <cwco:NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Hidden_gp5NWYBmYUOohlMit8VLZA">P30D</cwco:NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_-o2zEQaSHkqorN6pHkRDrg"
      id="Hidden_xV2zF2SZVkSO1s2NF-O8vA">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <cwco:ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_PerformancebasedGrantsMember_WkphmXfbEEGIfdh9g_0VTg"
      id="Hidden_fz6kqljD4UmKUrGC033RsQ">P3Y</cwco:ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod>
    <cwco:NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Hidden_OHWW8FktBkWbXDZJp9x7Wg">P45D</cwco:NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue>
    <cwco:TermOfForeignExchangeRiskToDollarForCertainCurrencies
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_kEbnJUzLjE2FsIu-1h89WA"
      id="Hidden_Ceex_SV_NkSWydyqJQLXFg">P20Y</cwco:TermOfForeignExchangeRiskToDollarForCertainCurrencies>
    <dei:DocumentType
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_SRnpkkpNV0q5JOhsB9686A">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_vfFIMVrxI0m4HKne2kjb0A">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_kS-a4HYrgUqD0QqcoLBf3g">2022-12-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_IGzWGXf_XkWo1HQV5OqUzg">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_JCr_2zTTn0CqBcJFWC9bAg">0-25248</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_9yCatVcZqUucYW-MwZkOow">CONSOLIDATED WATER CO.&#160;LTD.</dei:EntityRegistrantName>
    <dei:EntityTaxIdentificationNumber
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tc_MmdOzbqKgkmp8h_X3cGzZQ_1_2">98-0619652</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tc_qiRR01fRL0KRj76mFqtu9A_5_0">Regatta Office Park</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tc_A1uCL-jMQE-b-vzUM7o5eQ_6_0">Windward Three, 4th Floor, West Bay Road</dei:EntityAddressAddressLine2>
    <dei:EntityAddressAddressLine3
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tc_Z4pGZ6aY80Clg4i4NT0bJA_7_0">P.O.&#160;Box 1114</dei:EntityAddressAddressLine3>
    <dei:EntityAddressCityOrTown
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_mB5LGTV0A0K9qRXe3RLVVw">Grand Cayman</dei:EntityAddressCityOrTown>
    <dei:EntityAddressPostalZipCode
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_P6GWXwd94Eqh5pyUfga77A">KY1-1102</dei:EntityAddressPostalZipCode>
    <dei:EntityAddressCountry
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_FXA6HHA7eUiWD4J8dVbbKg">KY</dei:EntityAddressCountry>
    <dei:CityAreaCode
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_p4m2DH9WN0-Mg0nZv24tKw">345</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_eWXlBxltWkC09-8r7IcNfQ">945-4277</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_zQmyW8rDYkW69TbI3wQlsQ">Common Stock</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tc_UV9yVWbI2UWdQ3ThO7VSZA_2_2">CWCO</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_3xxLUudTlEeRnkKrhHPShw">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_IDFz-2ozzEadXJw-5kEWfA">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_v6CncNnbsECFKDK_DvRPrQ">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_Q4apIuHXXU6hm29ei_huUQ">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_wiFG8-VKs0iEblZ3xwMQ5g">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_nxnieQm30ku3e0Q0xdVLVQ">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_MpYEnDATXEa3tFOXjw_GVg">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_H06R1_PSMUaac_SpZd-C1Q">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_H_VpgpLrHkuWEmlzDadMDg">false</dei:IcfrAuditorAttestationFlag>
    <dei:EntityShellCompany
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_dNmHS-_5e0uDXGWVP1VltA">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="As_Of_6_30_2022_CpskOIngdUGv6wyhPW6Hzw"
      decimals="0"
      id="Narr_oGn06h2Z7kmNmCLxlrH59w"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">209109778</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="As_Of_3_24_2023_9sHmSgSBwUCqsg_zXEQ96g"
      decimals="0"
      id="Narr_ZULlFLiqdUivL_gOeliAmA"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">15722244</dei:EntityCommonStockSharesOutstanding>
    <dei:AuditorFirmId
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_sMNjf6K3o0qFY8O-30lU3Q">688</dei:AuditorFirmId>
    <dei:AuditorName
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_Wv1noAZRm0GZLYXid3NI_Q">Marcum LLP</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tc_gPiTnUIWfkKeW6xE-YOgSg_5_0">West Palm Beach, Florida</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_A0KdArAXL0yJFj6VpCPQyA_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">50711751</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_0LP1btkwR0u0EmFCAmQLwA_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">40358059</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CertificatesOfDepositAtCarryingValue
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_Wcqs-YIBv0Wlm5Ya37KDAA_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:CertificatesOfDepositAtCarryingValue>
    <us-gaap:CertificatesOfDepositAtCarryingValue
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_mr7ZWwM9jES2ntmVrJHGvA_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2500000</us-gaap:CertificatesOfDepositAtCarryingValue>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_tUG4VP1UHkaQaGfq4-uFWQ_7_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">27046182</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_l4yhD9v_N0KEgI8aF6Hezg_7_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">27349307</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_bhIgM1dcjUWzgG9GwUCNFQ_8_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5727842</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_Ibr3zgRqZ0aWF1gsfMf5EA_8_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2504832</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_PsZWfOzVqE6H4uNtqIbTMA_9_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5643279</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_vCTq_bvVvEajyzmwJqtJ_Q_9_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2558822</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_TMCe2ujkcEeXW4vKskVfQA_10_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2913722</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_mietmBe410WzJj6KQCB_0g_10_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">489961</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_zdTDLh0WdE6kj7uomlrCAg_11_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_Bj_vTeLCsUS05TgxA8BF_Q_11_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">128000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue>
    <us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_IvSbDpF_8E605rO55NCtCQ_12_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">531480</us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent>
    <us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_Ss7AA8JOfkaZlttL89x2PQ_12_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1173741</us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_OtZF-VuVcUC6IguvXkkrbg_13_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">92574256</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_INYEHSkGHk65Rm5vadoHjg_13_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">77062722</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_a2JHip-bVE6mTMTF4Wt2vg_14_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">52529545</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_aUs_V_lNp0OyGTT5Raj8Cw_14_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">52946539</us-gaap:PropertyPlantAndEquipmentNet>
    <cwco:ConstructionInProgress
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_Z63u4Xqs3UGyaUCWKaDEyw_15_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3705681</cwco:ConstructionInProgress>
    <cwco:ConstructionInProgress
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_HghrLg2Bo0qUFamTRyJMIg_15_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">710863</cwco:ConstructionInProgress>
    <us-gaap:InventoryNoncurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_AYXvRypVvECvSApEukLB4A_16_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">4550987</us-gaap:InventoryNoncurrent>
    <us-gaap:InventoryNoncurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_PFv9tun4v0OoToBmB5jpjQ_16_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">4733010</us-gaap:InventoryNoncurrent>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_xwiTw-fucUGvprIUrWQPyQ_17_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1545430</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_gNcr6WpkC02DWxZGIfYWBQ_17_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1715905</us-gaap:EquityMethodInvestments>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_qFuolRfcA02d4rUAVFs8ag_18_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">10425013</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_6PwZJy4bFk2PAbLNt3F2bg_18_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">10425013</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_fcZJR5fx10y5LsfiWdi1Iw_19_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2818888</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_hX7bqeLMR0GVjdJL27obkg_19_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3401666</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_l7U2iQooLkWMO6SYL7pqfg_20_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2058384</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_CPF3Iwd3t0GKcw7exf7Asg_20_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2681137</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_QSzduiNrT0mg4Y8Y2MRHcg_21_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1669377</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_g5A3bwfSx0SqRq5ClL3jzg_21_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1531816</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_STdeRlqi1EaVPTxnslapTQ_22_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">21129288</us-gaap:DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_85hPguP-0UWFzDvp27Z4cw_22_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">21146186</us-gaap:DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_QLdMjY55KkiurFOTNUEoUg_23_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">193006849</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_6FMJS8446Eu9IhPWNlrJrQ_23_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">176354857</us-gaap:Assets>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_ZfZOq1bTP0KrfG4gUGeDuQ_27_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">8438315</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_JWQM7w5K0EeKHjQ8VZjxyA_27_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2831925</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableRelatedPartiesCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_gVO38_2L0EOM23O3u2pr0w_28_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">403839</us-gaap:AccountsPayableRelatedPartiesCurrent>
    <us-gaap:AccountsPayableRelatedPartiesCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_C80TgfE9ek6OAXULDO64oA_28_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">163947</us-gaap:AccountsPayableRelatedPartiesCurrent>
    <us-gaap:AccruedEmployeeBenefitsCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_Ly8YWSX3t0S0j3KIfPR7Lw_29_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2267583</us-gaap:AccruedEmployeeBenefitsCurrent>
    <us-gaap:AccruedEmployeeBenefitsCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_Ot-QMsXjCkGncp18fpBh_g_29_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1435542</us-gaap:AccruedEmployeeBenefitsCurrent>
    <us-gaap:DividendsPayableCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_NpaYGZOE7Uil1sopHX52lQ_30_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1375403</us-gaap:DividendsPayableCurrent>
    <us-gaap:DividendsPayableCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_n8eNCAUXY0G_Buw8xW5cKQ_30_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1320572</us-gaap:DividendsPayableCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_dkzpGZ0SJkC7glAWHl4eGQ_31_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">546851</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_RsMhI117-E6envtk4msvfg_31_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">592336</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_pphawK5gv0mxBmRRNABotw_32_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">114964</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_XIPedN4olEqT6u26mpVqgQ_32_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">62489</us-gaap:LongTermDebtCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_T3ytxjqdYEikfqYSTTUmmQ_33_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">8803921</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_nwVtw96oxkmDF2YRwHhkOA_33_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">513878</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:DeferredIncomeCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_BMRZB9oOBE2_6w8XIBKKYQ_34_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">315825</us-gaap:DeferredIncomeCurrent>
    <us-gaap:DeferredIncomeCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_8Sdda_rtIUGmXE3Li4nqXQ_34_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">583646</us-gaap:DeferredIncomeCurrent>
    <us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_2BcNBRWtuEaAjOi6jfBlyw_35_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">389884</us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent>
    <us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_pJu52-OwcEWPvLSBsHqWRg_35_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">182322</us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc__TVAJdAgxUeg5ZIVJA-EVA_36_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">22656585</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_XxWv4xOQk0C4EB73ziiCHA_36_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">7686657</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_y1S6bWq-akmJ8vKRLfj2Jw_37_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">216117</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_UA14diVwYUmrfVzoIiqCoQ_37_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">152038</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_zZa_NaED7EqXlyzSFHPoTQ_38_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">560306</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_sOwhNdKQn0OwVaQdedQD2w_38_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">564526</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_h0kXH5T5D0qK9j6r80mCyw_39_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1590542</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_27G2RZn3XEO85kb7IubfZw_39_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2137394</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_w9sdZWOeq0alkAawlzKHrA_40_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">219110</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_pv5u-ZNzB0WzMsJWlC4fqg_40_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">141000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_tBpz5Cdp9UWancwKhKiahg_41_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent>
    <us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_j1iDfafP30Gs7dF3iJy7zw_41_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">7819</us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_lgzxFXmDVkiXwuQd4hZIHA_42_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">25242660</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_w4VZN-0df0eq9pcNXhNDDw_42_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">10689434</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="INF"
      id="Narr_2-JtUSucCUCUCRFR_UNkHw"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.60</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="INF"
      id="Narr_SqplgmGdJ0WG1TU2it7qDw"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.60</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="INF"
      id="Narr_gJeXzb8990ykk3Kh8yvBIw"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">200000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="INF"
      id="Narr_vwibxX3FKEmgBEdQZaby8w"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">200000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="INF"
      id="Narr_ob-XFDcsAU6ty_7rTZDh9w"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">34383</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="INF"
      id="Narr_BIyckil8U067tMQ2iB5VRg"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">28635</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_hsuFSmrbCkSKFiORKx2HdQ_46_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">20630</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_JjGg18cQbUiMh9RFhWZyUw_46_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">17181</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_vh2QUCelvEC4r_5iR09Lbg"
      decimals="INF"
      id="Narr_TyF9e4n4L0K7IAEzNdXYKw"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.60</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_ZVzwBZGRcUmURhjGB3mM7Q"
      decimals="INF"
      id="Narr_JA2NQPTFNk2aFydkw4iNxg"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.60</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_vh2QUCelvEC4r_5iR09Lbg"
      decimals="INF"
      id="Narr_xdYZvOaVeUaE8jXH9uBwWg"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">24655000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_ZVzwBZGRcUmURhjGB3mM7Q"
      decimals="INF"
      id="Narr_nLjL1x2_tUaD4Vl3URweHQ"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">24655000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_ZVzwBZGRcUmURhjGB3mM7Q"
      decimals="INF"
      id="Narr_yCNIU2ZDIEqBw8t6Xfp9zg"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">15322875</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_vh2QUCelvEC4r_5iR09Lbg"
      decimals="INF"
      id="Narr_udC6UZD3U0KzkGwBM8HhgA"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">15243693</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_ZVzwBZGRcUmURhjGB3mM7Q"
      decimals="0"
      id="Tc_CadlUpMEiUGJJXZj2ynd4w_47_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">9193725</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_vh2QUCelvEC4r_5iR09Lbg"
      decimals="0"
      id="Tc_htx9e2ThF0-pen4Q5zO3BQ_47_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">9146216</us-gaap:CommonStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassBMember_j7t5QY8ABkWqw-1qgBI1dw"
      decimals="INF"
      id="Narr_2AfJ3jZVwkKQKl-sY8IYiA"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.60</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassBMember_CNVGN63SQUmDkK1HNKqZ2Q"
      decimals="INF"
      id="Narr_EpWSyM0jjkmF4XCLDLo5kA"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.60</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassBMember_j7t5QY8ABkWqw-1qgBI1dw"
      decimals="INF"
      id="Narr_ghlV83_YAkGzmngXUJvCag"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">145000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassBMember_CNVGN63SQUmDkK1HNKqZ2Q"
      decimals="INF"
      id="Narr_Fa6kR-S9rkeqZlmU4cR27A"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">145000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassBMember_j7t5QY8ABkWqw-1qgBI1dw"
      decimals="INF"
      id="Narr_BL009kOZUUWC0o-RVF5_4A"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">0</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassBMember_CNVGN63SQUmDkK1HNKqZ2Q"
      decimals="INF"
      id="Narr_H465jwY4AkyCZPMo3FU13Q"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">0</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassBMember_CNVGN63SQUmDkK1HNKqZ2Q"
      decimals="0"
      id="Tc_2Q3pyrrH6UKNIFwNoiejpQ_48_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassBMember_j7t5QY8ABkWqw-1qgBI1dw"
      decimals="0"
      id="Tc_xmSS9jAm1kyjdXbXS2XDrg_48_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_NM7YjkePGUKvlSgxCabY-w_49_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">89205159</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_CpiEr84Td0eiO16qY2JHOw_49_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">87812432</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_HK8oEev2RkuYWbNzPGlmNw_50_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">61247699</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_kDmS8RijDEOrbBa5H_ynlQ_50_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">60603056</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_ChEfOiHnREuYjxONYtXPqQ_51_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">159667213</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_4A0_UzkfikK0futymdbjbw_51_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">157578885</us-gaap:StockholdersEquity>
    <us-gaap:MinorityInterest
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_XlMVl_rMv0qebhMQ4TpSVw_52_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">8096976</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterest
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_P1yK2DXo-0Kk2mE-fEGx8Q_52_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">8086538</us-gaap:MinorityInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_91ntHtd_w0ys4F1WI4sXXg_53_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">167764189</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_lGLj4tExGUeMQBFRMeUQvQ_53_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">165665423</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_-kpnyp__LU2J-atoRwV3FA_54_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">193006849</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_M4L3N1pyX06aGxQSLNYrmw_54_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">176354857</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_U5i4I_DdWUKpTQfoPRsxew_3_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">94104972</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_Ka2rxHZ1WkyvdhfF_DRjEQ_3_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">66863502</us-gaap:Revenues>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfSalesMember_v0OLl8BXo0WTErurXssnTQ"
      decimals="0"
      id="Narr_-2qz3L4b9USmWSOvS4w50Q"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2694810</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfSalesMember_FWegh57lq0G40qMIOWy0tg"
      decimals="0"
      id="Narr_JA7GJL6LgU6KuVQwoCmPeg"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">437857</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_OZMZuHg12EKVjT33ukwGZQ_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">63749849</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_t7F0zSRNNUW_rOeSff6_tg_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">43356311</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_NcGw2om1bUaISY4TWCcR3Q_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">30355123</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_sc2m4cnm7UGa6-XldkOL8g_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">23507191</us-gaap:GrossProfit>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember_LyW64rO_ykaR5tjMzwa9aA"
      decimals="0"
      id="Narr_nOnKoQuwrUSfpMMPCfPB4g"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">96924</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember_VtgY5MG7JkyLzIBSWRs00A"
      decimals="0"
      id="Narr_l_kyAtvkakqM0MPm24EUfA"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">77190</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_aAzTi3uwUEqH7_Q_S8lRTg_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">21070234</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_KvIHuArOrk6e8xNJi4FBKg_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">18350359</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_thSIxOWAe0y1GypyhV4saA_7_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-12704</us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges>
    <us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_wHj7WgbBRUiNYevRZ4uHOA_7_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-3145836</us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_AINAsU006kqPeRO7eWTniw_8_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">9272185</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_5rUG5Oa840-Rl6cmC-MjOg_8_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2010996</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeOther
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_kJJaJJGQN0mbrwAcDoRCrQ_11_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">447186</us-gaap:InterestIncomeOther>
    <us-gaap:InterestIncomeOther
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_uF1lj26zLUOi38dM0hoXZg_11_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">684809</us-gaap:InterestIncomeOther>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_F6O2r6OHaUSaU8b4iiKveA_12_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">46545</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_6g3tnNjj1E6wU26DEaXLIg_12_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">10248</us-gaap:InterestExpense>
    <cwco:ProfitLossFromSubsidiaries
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_e00QtF_RrEKE5v2g0DcZ2A_13_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">26325</cwco:ProfitLossFromSubsidiaries>
    <cwco:ProfitLossFromSubsidiaries
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_ky2vWwYAZ0u-qgN29kVJLA_13_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">22275</cwco:ProfitLossFromSubsidiaries>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_5ay6OFj5CkuLWq1OLh6Z6Q_14_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">75900</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_g8TLjIC7v066tEd0whOARw_14_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">55984</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_sMwkU6AHcku8uDXW74toOg_15_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-128000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_7D4qJhrtGkG7EnO-2YqKoA_15_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">818000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_YPl6K9rC-EevapNnAUJT1w_16_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">89944</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_5ics_tWhWUG1I5b8Aw8sNg_16_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">52775</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_wPWfgcrYnEit1332AE4a6Q_17_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">464810</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_FmCXeGMaKEyKdmAqkx9OHg_17_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1623595</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_iBURuaVVx0yidL3EeAo5Zg_18_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">9736995</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_wjbljxkOTES3Lm_M1YFJdA_18_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3634591</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_RFZngmJca0alfw4F7YRgkA_19_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">396739</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_UE_SfjE5sUuPMIdxK8_XdA_19_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-447982</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_BEujDrpG5EOxjros4Qftug_20_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">9340256</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_0B2ip1I4bkiGMKXYSYApBw_20_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">4082573</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_mZvYPXhW0EiqFZ4AUgb1jQ_21_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1112913</us-gaap:IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity>
    <us-gaap:IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_dVFU2_amxU6P5aFhhiNwXg_21_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">632915</us-gaap:IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_4DOQO2R3GkmYn4JSY37Q1g_22_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">8227343</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_PHe0DwBIK0qXu9vSbA1lYw_22_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3449658</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_me5qaP7rCkaQQubSZ65DPQ_23_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-2371049</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_Fuhjuf-LBUCKzgYraW605w_23_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-2574079</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_vxmdEEQHeEydzpLHVWy4UQ_24_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5856294</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_BVolVUf0qU6_c93YPfKfYQ_24_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">875579</us-gaap:NetIncomeLoss>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="2"
      id="Tc_t3zVB60T1EC1u71LplE9Dw_27_3"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.54</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="2"
      id="Tc_xNeOv9IGc0qmTAlK0uxEQw_27_6"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.23</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="2"
      id="Tc_Q85HUDCczUqV5TOYT4MxXg_28_3"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">-0.16</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare>
    <us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="2"
      id="Tc_EwKPJZ2B3kCfU_5g8hcevw_28_6"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">-0.17</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="2"
      id="Tc_e3wA_ZtUwkOyDK3MpkPufw_29_3"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.38</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="2"
      id="Tc_qv6LxmOzpEmrhj42aRvmYA_29_6"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.06</us-gaap:EarningsPerShareBasic>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="2"
      id="Tc_4TYT1K2hlUSr2PddKd1S5Q_32_3"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.54</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="2"
      id="Tc_y974YSbgrUCfGJXvhEmxTg_32_6"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.23</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="2"
      id="Tc_NVyAm40mLU2ksp-yHS0ODQ_33_3"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">-0.16</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare>
    <us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="2"
      id="Tc_W43Q9Y21WUGjd-gwvZDCQw_33_6"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">-0.17</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="2"
      id="Tc_r76YlOjWMU6U4D8btrEtCQ_34_3"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.38</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="2"
      id="Tc_4cBeI0EBdUG-1m-75Bpy6w_34_6"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.06</us-gaap:EarningsPerShareDiluted>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="INF"
      id="Tc_AC3XL-eAc0qaURL4XMrGAA_36_3"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.34</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="INF"
      id="Tc_ACAJRg3g-k6SJlx807PrFA_36_6"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.34</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_J1Y4V6UNLUSF-jhDBF3WXg_39_3"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">15290509</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_rGe80MyBx0yHltjorqHyqQ_39_6"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">15213816</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_8rgk6ELl5EqyNPkCh5Wzww_40_3"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">15401653</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_SWBlMaJKeEq_sCja3XtEFA_40_6"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">15310145</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_12_31_2020_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_-tneCKrH1kGaOJDN-8HjkA"
      decimals="INF"
      id="Tc_2CsPMfNqA0Ovjg_Lma9cOg_4_2"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">31068</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_-tneCKrH1kGaOJDN-8HjkA"
      decimals="0"
      id="Tc_7RyaBsRJxESjVsH3BaUp7Q_4_5"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">18641</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_3HKYTqvya0ymy8WxbSHR_A"
      decimals="INF"
      id="Tc_oSVIHtJoLUyv3nFgnijFbw_4_7"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">15143683</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_3HKYTqvya0ymy8WxbSHR_A"
      decimals="0"
      id="Tc_0_-38mZXeUSMqB_5rL9OjA_4_10"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">9086210</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_upiEpremuE-xQKoZZfeJog"
      decimals="0"
      id="Tc_stlpnN8YsUWJl9Vfl9XNBw_4_13"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">86893486</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_npc_G5l0Gk2HnaD5NWvfww"
      decimals="0"
      id="Tc_Humw-T5NYEG2YZb_DauGew_4_16"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">64910709</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_hL37mlRu9EWYYOlxr22q_A"
      decimals="0"
      id="Tc_ntyM_p4FG06RrMfGrCb5Ow_4_19"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">8103503</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_C1Q_2pxGgEajIBJo0wB9rQ"
      decimals="0"
      id="Tc_EfKTfZuKtk-QuOLRLu9NqQ_4_22"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">169012549</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw"
      decimals="INF"
      id="Tc_EzsCxy9ZXEGQblgX3psVOQ_5_2"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">8632</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw"
      decimals="0"
      id="Tc_5OAcnN3ndUuDQu8uLbDKNg_5_5"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5179</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA"
      decimals="INF"
      id="Tc_sFtQnRClWk-d-o6o_ESVIA_5_7"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">88488</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA"
      decimals="0"
      id="Tc_cs3u530l_UiWDzSc2OgwPA_5_10"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">53093</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_2UsxKjkbU0ikVBMMDThnkA"
      decimals="0"
      id="Tc_WIZ838rfH0ivlrxHq3hgFg_5_13"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-58272</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_I2OmzWVSNkSCzqLm30ZhFQ"
      decimals="0"
      id="Tc_zKxXnRfJckGGiMo-9W_xtw_5_16"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QJOC8_YvekSx3jYgssHhsg"
      decimals="0"
      id="Tc_TKopn-u9-EympO1q7r2Jow_5_19"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_K48IYIuNRkGr-kPaSpdihw_5_22"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw"
      decimals="INF"
      id="Tc_HvVwZ-Rx7EafCGJeHnxTTQ_6_2"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">-11522</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw"
      decimals="0"
      id="Tc_r-B3bgs43UGSt7hEIPbIZg_6_5"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-6913</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA"
      decimals="INF"
      id="Tc_O1v3XLwptkmXDB24LDLIFQ_6_7"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">11522</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA"
      decimals="0"
      id="Tc_0vRrTPGLjUiTP36XU41RXg_6_10"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">6913</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_2UsxKjkbU0ikVBMMDThnkA"
      decimals="0"
      id="Tc_lp2Vh6dxF0SJ9BlcPjh5ew_6_13"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_I2OmzWVSNkSCzqLm30ZhFQ"
      decimals="0"
      id="Tc_ov7oRcnCU0-JJEDFB4PtkQ_6_16"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QJOC8_YvekSx3jYgssHhsg"
      decimals="0"
      id="Tc_J_RFSGhEEEOAmWCj4Y5rjQ_6_19"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_vxgYk2sC5UWm25LLBLVvkw_6_22"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockRedeemedOrCalledDuringPeriodShares
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw"
      decimals="INF"
      id="Tc_IWnzEKvdf068XyRfuYYAFQ_7_2"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">1649</us-gaap:StockRedeemedOrCalledDuringPeriodShares>
    <us-gaap:StockRedeemedOrCalledDuringPeriodValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw"
      decimals="0"
      id="Tc_KAgdlJiDg0GiicYVcwe5nQ_7_5"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">989</us-gaap:StockRedeemedOrCalledDuringPeriodValue>
    <us-gaap:StockRedeemedOrCalledDuringPeriodShares
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA"
      decimals="INF"
      id="Tc_banumun7H0CsDO5NUEhQsw_7_7"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">0</us-gaap:StockRedeemedOrCalledDuringPeriodShares>
    <us-gaap:StockRedeemedOrCalledDuringPeriodValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA"
      decimals="0"
      id="Tc_cgxYm8D8X0C8_hZz39maVA_7_10"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockRedeemedOrCalledDuringPeriodValue>
    <us-gaap:StockRedeemedOrCalledDuringPeriodValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_2UsxKjkbU0ikVBMMDThnkA"
      decimals="0"
      id="Tc_4gtAAmQ--0qLffTyeUkK_w_7_13"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">15810</us-gaap:StockRedeemedOrCalledDuringPeriodValue>
    <us-gaap:StockRedeemedOrCalledDuringPeriodValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_I2OmzWVSNkSCzqLm30ZhFQ"
      decimals="0"
      id="Tc_WS5Qyp77M0mLiVOAAbJu7w_7_16"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockRedeemedOrCalledDuringPeriodValue>
    <us-gaap:StockRedeemedOrCalledDuringPeriodValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QJOC8_YvekSx3jYgssHhsg"
      decimals="0"
      id="Tc_RQHOuBnoRUWpWKYD0vQc3w_7_19"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockRedeemedOrCalledDuringPeriodValue>
    <us-gaap:StockRedeemedOrCalledDuringPeriodValue
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_sstUTe1aIUaQ3y09b20qeg_7_22"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">16799</us-gaap:StockRedeemedOrCalledDuringPeriodValue>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw"
      decimals="INF"
      id="Tc_0ljsE56ho0SELRuJ83jwXg_8_2"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw"
      decimals="0"
      id="Tc_bSIJo8ul_kCWjqk8NiIzfw_8_5"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA"
      decimals="INF"
      id="Tc_50GYbWEVYk6GcJguE-Oyng_8_7"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA"
      decimals="0"
      id="Tc_SKMbIqV7RUi4EEWnCEllmA_8_10"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_2UsxKjkbU0ikVBMMDThnkA"
      decimals="0"
      id="Tc_xvS2Q3z0KkmP6J6HuHb4bw_8_13"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_I2OmzWVSNkSCzqLm30ZhFQ"
      decimals="0"
      id="Tc_zwtRuELxWUeGm0sBM7eKRA_8_16"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">875579</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QJOC8_YvekSx3jYgssHhsg"
      decimals="0"
      id="Tc_p7Mios8XT0KTXSpv6IdrWw_8_19"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">632915</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_1i3N3JF240GNVGrW4EKuug_8_22"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1508494</us-gaap:ProfitLoss>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw"
      decimals="INF"
      id="Tc_Gbj-xKbXrkmlU33yoOZHeA_9_2"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">2106</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw"
      decimals="0"
      id="Tc_M9OmsPiQb0-1UUZdVPlcdw_9_5"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1263</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA"
      decimals="INF"
      id="Tc_UqpIjFg3bUORz_fJcUyDUg_9_7"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">0</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA"
      decimals="0"
      id="Tc_WUIGwClIq0-s1ygjX-Rf2w_9_10"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_2UsxKjkbU0ikVBMMDThnkA"
      decimals="0"
      id="Tc_0Ywanggkok2f5urjHp29Hg_9_13"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">15796</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_I2OmzWVSNkSCzqLm30ZhFQ"
      decimals="0"
      id="Tc_kQ9TkAVSsk2QiM2ey3yjOw_9_16"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QJOC8_YvekSx3jYgssHhsg"
      decimals="0"
      id="Tc_ag3K_lp70EqnEBeNoDqkQw_9_19"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_O-syDEuqFkGz4DNkkWgrqA_9_22"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">17059</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:DividendsCash
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw"
      decimals="INF"
      id="Tc_Ec7Lr1-ugUW0F81yH7qJIA_10_2"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw"
      decimals="0"
      id="Tc_7mibc_BlCUSkiULka7hrLA_10_5"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA"
      decimals="INF"
      id="Tc_npJcQNInm06tOUrhEFyGLQ_10_7"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA"
      decimals="0"
      id="Tc_dn0ZNtIcJUS78cFtXN-C0Q_10_10"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_2UsxKjkbU0ikVBMMDThnkA"
      decimals="0"
      id="Tc__GwiDkWpHU6LN8GthPin1w_10_13"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_I2OmzWVSNkSCzqLm30ZhFQ"
      decimals="0"
      id="Tc_LER9QgcsDEmWbTG6nCCtMg_10_16"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5183232</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QJOC8_YvekSx3jYgssHhsg"
      decimals="0"
      id="Tc_RtTlj1OtFUyKI3X7RMEE_Q_10_19"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">649880</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_uPC5_tO4sUut3hxKIJ0a8Q_10_22"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5833112</us-gaap:DividendsCash>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw"
      decimals="INF"
      id="Tc_-WPaLreAMUe87asZdv54aQ_11_2"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_l9XG7xgeg0C66-ZXDH2JCw"
      decimals="0"
      id="Tc_DukbcZ1yFUez4QUyhUHf-g_11_5"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA"
      decimals="INF"
      id="Tc_XU38K2RCM0y0AEh8VGLyEw_11_7"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5kRtQ2l6fk27aTvW1oXwHA"
      decimals="0"
      id="Tc_hz_E8p_AHUihnU9IH46LWw_11_10"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_2UsxKjkbU0ikVBMMDThnkA"
      decimals="0"
      id="Tc_YpdTIWdy60uLVrrJpNcE7w_11_13"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">977232</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_I2OmzWVSNkSCzqLm30ZhFQ"
      decimals="0"
      id="Tc_CG6tUJSfikaGUoU6jOTHOA_11_16"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QJOC8_YvekSx3jYgssHhsg"
      decimals="0"
      id="Tc_MrYMviCQm0OYKsru6U6aoA_11_19"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_3wWsexl_l0WVs-jd3Z3fAg_11_22"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">977232</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_J6J75thyq06qykW7F5TwWw"
      decimals="INF"
      id="Tc_vxN-WqvNvU2Ep4Mi0LYVQw_12_2"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">28635</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_J6J75thyq06qykW7F5TwWw"
      decimals="0"
      id="Tc_ZlMxryIKTEKQXCjtvJLQYg_12_5"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">17181</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_3zS89l0s00S1RPfi4v04Bw"
      decimals="INF"
      id="Tc_n8sLVuzqhE6WvWNf5xJsqQ_12_7"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">15243693</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_3zS89l0s00S1RPfi4v04Bw"
      decimals="0"
      id="Tc_zmAjsNR_706LAmg22PrDeQ_12_10"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">9146216</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Yff6h3QjVEa8xnGdDclZdQ"
      decimals="0"
      id="Tc_GGXRXNevRE2EeDPEyx2W_g_12_13"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">87812432</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_NE1AbW1U0UeKPG1EhuZDcw"
      decimals="0"
      id="Tc_CTvnm5xoXkOEKBlUW1aG4Q_12_16"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">60603056</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_rVMUroAZQEKpn1M2U6Ow0g"
      decimals="0"
      id="Tc_lSfx2X1hx0araGLAYTZi9Q_12_19"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">8086538</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_NweKOlPsLUORp-Nv0i3l9Q_12_22"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">165665423</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg"
      decimals="INF"
      id="Tc_zElJqqsdQkWWxlxo-VGwJQ_13_2"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">9295</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg"
      decimals="0"
      id="Tc_chQsUpmxZU-qTn-BuvtQuQ_13_5"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5577</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ"
      decimals="INF"
      id="Tc_BXfDAKVFCEe6GQevb2XOww_13_7"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">72597</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ"
      decimals="0"
      id="Tc_ws36xwc9xUykTOH4Lgub9A_13_10"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">43558</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_sVZM8sptB060CYkSHWHWRA"
      decimals="0"
      id="Tc_U2p32UpdJEKGZxOaOMoZ9Q_13_13"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-49135</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_CoTYfknnZkWQ6jcDlAa32g"
      decimals="0"
      id="Tc_ETzwVuBBy06j9_gweDL4dw_13_16"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_8L9TdyjAwUmKrhFBWu0n3A"
      decimals="0"
      id="Tc_wfLm0Ly1nU-9O5S1IRV8SA_13_19"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_QHl3ea-dK0-lojUGR3c8ow_13_22"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg"
      decimals="INF"
      id="Tc_OxXyNtiGXkupf7DZiVGydg_14_2"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">-6585</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg"
      decimals="0"
      id="Tc_RzkzNlYJCUC_KLt_7HGgIw_14_5"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-3951</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ"
      decimals="INF"
      id="Tc_wBzy-rzUBUS_10DJcpmg7A_14_7"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">6585</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ"
      decimals="0"
      id="Tc_ddEzM4tE5U2PEI4uou9rxg_14_10"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3951</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_sVZM8sptB060CYkSHWHWRA"
      decimals="0"
      id="Tc_kAFjA-KjkkiXj36pqstKJw_14_13"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_CoTYfknnZkWQ6jcDlAa32g"
      decimals="0"
      id="Tc_tIJt2ATajUyn4aP0Z8CPkg_14_16"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_8L9TdyjAwUmKrhFBWu0n3A"
      decimals="0"
      id="Tc_m8E3HjMIoU2UYkQ7-O5cMw_14_19"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_etaY1D3ljkWkD3n3wJ1yzQ_14_22"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockRedeemedOrCalledDuringPeriodShares
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg"
      decimals="INF"
      id="Tc_3fw6IBydEUqdRlwCbHsb7g_15_2"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">26</us-gaap:StockRedeemedOrCalledDuringPeriodShares>
    <us-gaap:StockRedeemedOrCalledDuringPeriodValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg"
      decimals="0"
      id="Tc_ZyQ3QMwqHEaAS85tvQ0YfQ_15_5"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">15</us-gaap:StockRedeemedOrCalledDuringPeriodValue>
    <us-gaap:StockRedeemedOrCalledDuringPeriodShares
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ"
      decimals="INF"
      id="Tc_m4WGFKWWW0iXmNZn6-quJA_15_7"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">0</us-gaap:StockRedeemedOrCalledDuringPeriodShares>
    <us-gaap:StockRedeemedOrCalledDuringPeriodValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ"
      decimals="0"
      id="Tc_Olr25DfhGka4AvviW-u8lg_15_10"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockRedeemedOrCalledDuringPeriodValue>
    <us-gaap:StockRedeemedOrCalledDuringPeriodValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_sVZM8sptB060CYkSHWHWRA"
      decimals="0"
      id="Tc_EAWjvByKQ0GQpNTMBW5EJg_15_13"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">211</us-gaap:StockRedeemedOrCalledDuringPeriodValue>
    <us-gaap:StockRedeemedOrCalledDuringPeriodValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_CoTYfknnZkWQ6jcDlAa32g"
      decimals="0"
      id="Tc_1N8Vhxw6u0yatTgAzpzgJg_15_16"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockRedeemedOrCalledDuringPeriodValue>
    <us-gaap:StockRedeemedOrCalledDuringPeriodValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_8L9TdyjAwUmKrhFBWu0n3A"
      decimals="0"
      id="Tc_dZLbArOm6kGeIJd70-rIjg_15_19"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockRedeemedOrCalledDuringPeriodValue>
    <us-gaap:StockRedeemedOrCalledDuringPeriodValue
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_JjBhE9E7h0qC6RnC0b6agA_15_22"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">226</us-gaap:StockRedeemedOrCalledDuringPeriodValue>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg"
      decimals="INF"
      id="Tc_4FeXjTs8m0qB6b2N62NtFg_16_2"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg"
      decimals="0"
      id="Tc_VsuI7I2MpU6yT5_wDLnYMA_16_5"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ"
      decimals="INF"
      id="Tc_3vH3Oe71cESoQdPKGFHKQw_16_7"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ"
      decimals="0"
      id="Tc_oBtMomcdY0uqMp0S6uIW1A_16_10"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_sVZM8sptB060CYkSHWHWRA"
      decimals="0"
      id="Tc_kwHlli5420OihDOKPhMyWg_16_13"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_CoTYfknnZkWQ6jcDlAa32g"
      decimals="0"
      id="Tc_RzL2J9eA_E6QOCW8XMqQtQ_16_16"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5856294</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_8L9TdyjAwUmKrhFBWu0n3A"
      decimals="0"
      id="Tc_Z1Hnq6tjh0OddSn8pDIwlQ_16_19"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1112913</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_7EOq6P3QoEmszFwURKzH5Q_16_22"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">6969207</us-gaap:ProfitLoss>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg"
      decimals="INF"
      id="Tc_6iPpuL1erUCfOYy8W0GOYA_17_2"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">3064</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg"
      decimals="0"
      id="Tc_1a18U1KnC0G6s3BIlVV9Ng_17_5"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1838</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ"
      decimals="INF"
      id="Tc_1exLbbn0xEeXQxeUZbpN6Q_17_7"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">0</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ"
      decimals="0"
      id="Tc_3n9BObf170aCwRFb6yBynw_17_10"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_sVZM8sptB060CYkSHWHWRA"
      decimals="0"
      id="Tc_Sg4Das8aDkyhXZkxIZE4fw_17_13"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">24901</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_CoTYfknnZkWQ6jcDlAa32g"
      decimals="0"
      id="Tc_UHzPquNFLUSrC8HWojfxTQ_17_16"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_8L9TdyjAwUmKrhFBWu0n3A"
      decimals="0"
      id="Tc_v8lc9WE6dEW0lqXPAEN7aA_17_19"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_vjf06u4i50Ky_Ksc0jjJKQ_17_22"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">26739</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:DividendsCash
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg"
      decimals="INF"
      id="Tc_tfXzFoevvEC-nxunHCkXeQ_18_2"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg"
      decimals="0"
      id="Tc_ws3cSHP4q0Ob-OaZYLM43g_18_5"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ"
      decimals="INF"
      id="Tc_M9bPUFzHm0SFrhZMwkTzCQ_18_7"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ"
      decimals="0"
      id="Tc_wuCRnfTvckmKxFzMAwQIyA_18_10"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_sVZM8sptB060CYkSHWHWRA"
      decimals="0"
      id="Tc_NZmItxXTBkSbGvmFABWv1w_18_13"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_CoTYfknnZkWQ6jcDlAa32g"
      decimals="0"
      id="Tc_UQE-v0vrUkKE4EAWVXdZsw_18_16"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5211651</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_8L9TdyjAwUmKrhFBWu0n3A"
      decimals="0"
      id="Tc_JLsVSH_jp0GmYkToiuVQtg_18_19"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1102475</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_Aae5L4IXx0KRaqOK6iZeOQ_18_22"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">6314126</us-gaap:DividendsCash>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg"
      decimals="INF"
      id="Tc_gmRTLkjSfEmorhkk6J8Flg_19_2"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_t68_i9D4GUynv7bUfhEMYg"
      decimals="0"
      id="Tc_wEGw9j6yJE2wNWF8gR2xyA_19_5"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ"
      decimals="INF"
      id="Tc_7JMqiK992ECoNvfzCAh2gg_19_7"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XxVlOn4ockWNQnvgWzwwFQ"
      decimals="0"
      id="Tc_jeVGGqEU20CDELygBaUP_w_19_10"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_sVZM8sptB060CYkSHWHWRA"
      decimals="0"
      id="Tc_T-JkrMKXwESj1-vIHaIMVA_19_13"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1417172</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_CoTYfknnZkWQ6jcDlAa32g"
      decimals="0"
      id="Tc_TpvnVEarP0yEXbvjCsYv9w_19_16"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_8L9TdyjAwUmKrhFBWu0n3A"
      decimals="0"
      id="Tc_Uumfko8F40iQvMGhbeZbrg_19_19"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_EG5mmfzNxkG_EVkmXtyzmA_19_22"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1417172</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_sBcY1Btx90SbkhJ3vi2W-A"
      decimals="INF"
      id="Tc_E0zlWCzw9UqfSvWZhNRqBw_20_2"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">34383</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_sBcY1Btx90SbkhJ3vi2W-A"
      decimals="0"
      id="Tc_hgB8Dvm34EK5glJLiA0ScA_20_5"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">20630</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_2NH0HbQNxU6mJ19nM52FFQ"
      decimals="INF"
      id="Tc_DSgMvfD2pUqczoZNwNA95g_20_7"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">15322875</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_2NH0HbQNxU6mJ19nM52FFQ"
      decimals="0"
      id="Tc_bpZPBdQ4OEih_gzUlatyLA_20_10"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">9193725</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_lwQBd0ht_UyOaipQ5wIuzA"
      decimals="0"
      id="Tc_Dvx0y8inckyyZwNEjVl6KQ_20_13"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">89205159</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_aMyjne3ank2zdlEWi_TxwA"
      decimals="0"
      id="Tc_mzf2SA4Mh0CwMrTdtZLsfQ_20_16"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">61247699</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_CBOsmqEgOkK9j884bTYxMw"
      decimals="0"
      id="Tc_mTtuSWZAxEWrImib0Ibspg_20_19"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">8096976</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_ClCJ48aNhk21cmfQoz97Jg_20_22"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">167764189</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_HpHX38UIi0q1R41eTo0CgA_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5856294</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_iKZGR_bXq0ODdto7y6kQYA_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">875579</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_6TkMqPZpb0GpdP6RI1kuwg_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1112913</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_5bcKxuE_VEmm0wwDa1JgaA_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">632915</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_sax1c7w1G0qfFn7OZRnEiQ_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">6969207</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_GeQKf3on5U259cdT0st0fw_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1508494</us-gaap:ProfitLoss>
    <cwco:DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_OwsA0ZQh5EiPMrt10qs0sw_8_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">377326</cwco:DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment>
    <cwco:DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_qtuvdLeK2k-Z0amNtyWgQg_8_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">963540</cwco:DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment>
    <us-gaap:DepreciationAndAmortizationDiscontinuedOperations
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_tqdOzWiKzk6NQmQ7UsnGKg_9_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">4545</us-gaap:DepreciationAndAmortizationDiscontinuedOperations>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_PDp6iMNZb06QJ60RehI3rQ_10_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">102507</us-gaap:DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_izC1ph1Uu06X2jTMVqTHdA_10_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-53039</us-gaap:DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses>
    <us-gaap:DisposalGroupNotDiscontinuedOperationGainLossOnDisposal
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_soXuXjPu4UWeYh4LNruQ2A_11_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-2096230</us-gaap:DisposalGroupNotDiscontinuedOperationGainLossOnDisposal>
    <us-gaap:DisposalGroupNotDiscontinuedOperationGainLossOnDisposal
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_LkDiMNmnb0WdaW3BfgodAQ_11_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-1552955</us-gaap:DisposalGroupNotDiscontinuedOperationGainLossOnDisposal>
    <us-gaap:DepreciationAndAmortization
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_ltDD_oQx-kGBjhnomrJFlA_12_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">6187308</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_Sn2If5ktkku5S1FbrbrjIg_12_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">6921233</us-gaap:DepreciationAndAmortization>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_TVHA9q5e-UqC6ojKhCZnBg_13_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-4220</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_-h6W19ttEUi66XaCjZ938Q_13_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-649531</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_CxfEz_h9W0aYEaM7IfwEEg_14_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-128000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_jKbYtjjhdEeVkWKvehFIDw_14_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">818000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_U_bqb36Zukq0MFt9iCgCaQ_15_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1417172</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_7j7yPevPQUGtafsowKpHSg_15_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">977232</us-gaap:ShareBasedCompensation>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_AL3X8D5QqUStRtEONr-cbQ_16_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-12704</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_6Kbq9Fl1VEivn-5-Vk0ctQ_16_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-245836</us-gaap:GainLossOnDispositionOfAssets1>
    <cwco:IncomeLossFromEquityMethodInvestmentsAndSubsidiaries
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_kUOv9eaqD0K9wqyqY_OZCQ_17_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">102225</cwco:IncomeLossFromEquityMethodInvestmentsAndSubsidiaries>
    <cwco:IncomeLossFromEquityMethodInvestmentsAndSubsidiaries
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc__wgAP8_pcECGqiTcGOl8Rg_17_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">78259</cwco:IncomeLossFromEquityMethodInvestmentsAndSubsidiaries>
    <us-gaap:EquityMethodInvestmentDividendsOrDistributions
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_NwSbd2GjWEWhoCdN0liuYQ_18_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">272700</us-gaap:EquityMethodInvestmentDividendsOrDistributions>
    <us-gaap:EquityMethodInvestmentDividendsOrDistributions
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_X3zHsPky3kS-a9paJeLFZA_18_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">454500</us-gaap:EquityMethodInvestmentDividendsOrDistributions>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_vCoYUF-yU0yhlG5wnwYITg_19_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2900000</us-gaap:GoodwillImpairmentLoss>
    <cwco:IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_QCBzr-DxPk2itQcWKQPAFg_22_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2120636</cwco:IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset>
    <cwco:IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_613FwHo8p0u42Zwsv_v5qA_22_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5878771</cwco:IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_c5BSv9H2XkK8FQ1CgtCN4w_23_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3387011</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_TM-SXJGmIkCS6vyflVvLBg_23_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-293254</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_Tc4AfTYp9kupENr53WS6jw_24_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3365747</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_9-cqJDIlD06c1xyy0Ur4nw_24_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">266170</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <cwco:IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_BU_a97pQR0OSZu1WgnkRJA_25_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">6756433</cwco:IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities>
    <cwco:IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_bMseEAPdpkeM6DFcWkiYOw_25_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-164606</cwco:IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities>
    <cwco:IncreaseDecreaseInContractLiability
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_dT3-JFDflUC5aFWEQfjWiw_26_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">8290043</cwco:IncreaseDecreaseInContractLiability>
    <cwco:IncreaseDecreaseInContractLiability
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_15IMMggaMkK6EkESit_njw_26_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">52008</cwco:IncreaseDecreaseInContractLiability>
    <us-gaap:IncreaseDecreaseInOperatingLiabilities
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_fBB-s9CEvkeCHYqrC73NYw_27_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-5208</us-gaap:IncreaseDecreaseInOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOperatingLiabilities
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_XOY9rHdSiEaRJeePofNqig_27_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">48593</us-gaap:IncreaseDecreaseInOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_fq0e28ZDbEKql1lOXVgXxw_28_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-267821</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_Y2oMP2LR5USVdnNSUQiMdQ_28_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">467710</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_Y1wpjVw8JU6nJqfbnhaQvg_29_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">23151748</us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations>
    <us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_qb3h2WjSWkWd5QWm_tzang_29_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">8587602</us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations>
    <us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_xwCB0ISkn0GLMi7e_IEeAg_30_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-1819943</us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations>
    <us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_dsW6O6WLYEOIX5B1uUq6dg_30_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-1621292</us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_O6d_S4r8pEWfDdyqnpUciw_31_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">21331805</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_zTnjZIpEOE-OHOvKVGbf8Q_31_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">6966310</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <cwco:PaymentsToAcquireCertificatesOfDeposit
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_VMMrDBWCM0yNygKSjoL5-w_34_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2518493</cwco:PaymentsToAcquireCertificatesOfDeposit>
    <cwco:PaymentsToAcquireCertificatesOfDeposit
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_enFsKDov40aV_eYOZQS7hg_34_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2500000</cwco:PaymentsToAcquireCertificatesOfDeposit>
    <us-gaap:ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_DbvnZi3oLEGVv4bsvBbhRA_35_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5018493</us-gaap:ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_yPlrUuQeDkuPq_0Ee4ikZw_36_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">7542761</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_ZMH3m2HL702GFtEHxug2Fw_36_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1490012</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_iONjVD1bqE6nMA2DXjLZ8Q_37_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">61725</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_Yz67CTXzSkKev1OE_cP-fg_37_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">45560</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_SdLTt9sqpUWp6tiaJ_kfoQ_38_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-4981036</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_jYH5WJKmBkmQCdwHFPnvrw_38_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-3944452</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_mtWvPompW0uV0gRQ4KFjag_41_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5145742</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_RyBdoOu1S0mLwev3ONe8uQ_41_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5151667</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsPreferredStockAndPreferenceStock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_0LzDTUVjWUSrEgPUY4OpXQ_42_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">11078</us-gaap:PaymentsOfDividendsPreferredStockAndPreferenceStock>
    <us-gaap:PaymentsOfDividendsPreferredStockAndPreferenceStock
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_JOmR84tLeUaF1jTVO91tMQ_42_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">649880</us-gaap:PaymentsOfDividendsPreferredStockAndPreferenceStock>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_sHnTXkpfC0K6CTqVgZLITw_43_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1102475</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_rpzwNh9lSECnvJNVWH0Crg_43_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">11015</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:ProceedsFromRepurchaseOfRedeemablePreferredStock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_hWSnuLko00W7qU6u1T6T2Q_44_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-226</us-gaap:ProceedsFromRepurchaseOfRedeemablePreferredStock>
    <us-gaap:ProceedsFromRepurchaseOfRedeemablePreferredStock
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_7m3t9BUiqkaN48sTkdYu6A_44_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-16799</us-gaap:ProceedsFromRepurchaseOfRedeemablePreferredStock>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_8j7lKkHvG02w6M86VBDonw_45_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">26739</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_E3-ejs2D70eLSL0QM-CF4w_45_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">17059</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_vf57-UHZE0iPhqZ1PExY1A_46_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">72091</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_631YMhyUKEidFmyjjiCoqA_46_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">49729</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_f3SUlnavZUGhhd1rlPkC2w_47_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-6304873</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_al7JFYBKW0qar4pR1YQy0A_47_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-5862031</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_iek3q38110ycF4_BzGS5lw_48_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">10045896</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_AqAwpD0_vUO2sZ3rV2QF-A_48_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-2840173</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_YPuNTxt1QUODA-wrmdc7fg_49_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">40358059</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2020_C1Q_2pxGgEajIBJo0wB9rQ"
      decimals="0"
      id="Tc_TyRvkRlAn0SurkCLHGtbxw_49_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">43794150</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_ndOUw-fX8kaf9cNC4NCsyg_50_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">750048</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="As_Of_12_31_2020_C1Q_2pxGgEajIBJo0wB9rQ"
      decimals="0"
      id="Tc_X1zzvVsSEEmQNSzPEALyig_50_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">154130</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_KpLax2BjtEqNChDaU3rSFA_51_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">442252</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_pkFMPEPP6ECpNPgPLnVQmw_51_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">750048</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_I4JLCc_DnkK-3bKb8cEGGg_52_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">50711751</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_u81x1rCeAUebVSCXD4de9A_52_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">40358059</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:NatureOfOperations
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_GApQGj8CK0agYLgnyAX-_Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;1. Principal activity&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Consolidated Water Co. Ltd. and its subsidiaries (collectively, the &#x201c;Company&#x201d;) supply potable water, treat wastewater and water for reuse, and provide water-related products and services to customers in the Cayman Islands, The Bahamas, the United States and the British Virgin Islands. The Company produces potable water from seawater using reverse osmosis technology and sells this water to a variety of customers, including public utilities, commercial and tourist properties, residential properties and government facilities. The Company designs, builds and sells water production and water treatment infrastructure and manages water infrastructure for commercial and governmental customers. The Company also manufactures a wide range of specialized and custom water industry related products and provides design, engineering, operating and other services applicable to commercial, municipal and industrial water production, supply and treatment.&lt;/p&gt;</us-gaap:NatureOfOperations>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_Dk_xzZ_miUC9kFDrDPDFtQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;2. Accounting policies&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Basis of preparation:&lt;/b&gt; The consolidated financial statements presented are prepared in accordance with the accounting principles generally accepted in the United States of America.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Use of estimates:&lt;/b&gt; The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenue and expenses during the reporting period. Significant items subject to estimates and assumptions include the carrying value of property, plant and equipment, intangible assets, goodwill and revenue recognition on construction and manufacturing contracts. Actual results could differ significantly from such estimates.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Basis of consolidation:&lt;/b&gt; The accompanying consolidated financial statements include the accounts of the Company&#x2019;s (i)&#160;wholly-owned subsidiaries, Aerex Industries,&#160;Inc. (&#x201c;Aerex&#x201d;), Aquilex,&#160;Inc. (&#x201c;Aquilex&#x201d;), Cayman Water Company Limited (&#x201c;Cayman Water&#x201d;), Ocean Conversion (Cayman) Limited (&#x201c;OC-Cayman&#x201d;), DesalCo Limited (&#x201c;DesalCo&#x201d;), Consolidated Water Cooperatief, U.A. (&#x201c;CW-Cooperatief&#x201d;), Consolidated Water U.S. Holdings,&#160;Inc. (&#x201c;CW-Holdings&#x201d;); and (ii)&#160;majority-owned subsidiaries Consolidated Water (Bahamas)&#160;Ltd. (&#x201c;CW-Bahamas&#x201d;), N.S.C. Agua, S.A. de C.V. (&#x201c;NSC&#x201d;), Aguas de Rosarito S.A.P.I. de C.V. (&#x201c;AdR&#x201d;), and PERC Water Corporation ("PERC"). The Company&#x2019;s investment in its affiliate Ocean Conversion (BVI)&#160;Ltd. (&#x201c;OC-BVI&#x201d;) is accounted for using the equity method of accounting. All significant intercompany balances and transactions have been eliminated in consolidation.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="background:#ffffff;"&gt;On January 4, 2023, as a result of CW-Holdings' exercise of a call option in October 2022, CW-Holdings purchased the remaining&#160;&lt;/span&gt;&lt;span style="background:#ffffff;"&gt;39%&lt;/span&gt;&lt;span style="background:#ffffff;"&gt; ownership interest in PERC for &lt;/span&gt;&lt;span style="background:#ffffff;"&gt;$2.4&lt;/span&gt;&lt;span style="background:#ffffff;"&gt; million&#160;in cash and &lt;/span&gt;&lt;span style="background:#ffffff;"&gt;368,383&lt;/span&gt;&lt;span style="background:#ffffff;"&gt; shares of the Company&#x2019;s common stock. After giving effect to this purchase, CW-Holdings owns&#160;&lt;/span&gt;&lt;span style="background:#ffffff;"&gt;100%&lt;/span&gt;&lt;span style="background:#ffffff;"&gt; of the outstanding capital stock of PERC.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign currency:&lt;/b&gt;&#160;The Company&#x2019;s reporting currency is the United States dollar (&#x201c;US$&#x201d;). The functional currency of the Company and its foreign operating subsidiaries (other than NSC, AdR and CW-Cooperatief) is the currency for each respective country. The functional currency for NSC, AdR and CW-Cooperatief is the US$. NSC and AdR conduct business in US$ and Mexican pesos and CW-Cooperatief conducts business in US$ and euros. The exchange rates for the Cayman Islands dollar and the Bahamian dollar are fixed to the US$. The exchange rates for conversion of Mexican pesos and euros into US$ vary based upon market conditions. Net foreign currency gains arising from transactions and re-measurements were $41,750 and $32,594 for the&#160;years ended December&#160;31, 2022 and 2021, respectively, and are included in &#x201c;Other income (expense)&#160;- Other&#x201d; in the accompanying consolidated statements of income.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Cash and cash equivalents:&lt;/b&gt; Cash and cash equivalents consist of demand deposits at banks and certificates of deposit at banks with an original maturity of three&#160;months or less. Cash and cash equivalents as of December&#160;31, 2022 and 2021 &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;include $5.0 million and $7.4 million, respectively, of certificates of deposit with an original maturity of three&#160;months or less.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;As of December&#160;31, 2022, the Company had deposits in U.S. banks in excess of federally insured limits of approximately $12.5 million. As of December&#160;31, 2022, the Company held cash in foreign bank accounts of approximately $36.6 million.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Certain transfers from the Company&#x2019;s Bahamas bank accounts to Company bank accounts in other countries require the approval of the Central Bank of The Bahamas. The equivalent United States dollar cash balances for deposits held in The Bahamas as of December&#160;31, 2022 and 2021 were approximately $5.7 million and $3.9 million, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Certificate of deposit:&lt;/b&gt; As of December 31, 2022 and 2021, the Company held a certificate of deposit in The Bahamas with an original maturity of six months in the amount of zero and $2.5 million, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accounts receivable and allowance for doubtful accounts:&lt;/b&gt; Accounts receivable are recorded at invoiced amounts based on meter readings, contractual amounts, fixed fees plus reimbursables or time and materials per contractual agreements. &lt;span style="background:#ffffff;"&gt;Trade accounts receivable also represent our unconditional right, subject only to the passage of time, to receive consideration arising from our performance under contracts with customers. Trade accounts receivable include amounts billed and billable on construction contracts, service and maintenance contracts and contracts for the sale of goods. Billed contract receivables have been invoiced to customers based on contracted amounts. &lt;/span&gt;The allowance for doubtful accounts is the Company&#x2019;s best estimate of the amount of probable credit losses in the Company&#x2019;s existing accounts receivable balance. The Company determines the allowance for doubtful accounts based on historical write-off experience and&#160;monthly review of delinquent accounts. Past due balances are reviewed individually for collectability. Account balances are charged off against the allowance for doubtful accounts after all means of collection have been exhausted and the potential for recovery is considered by management to be remote.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inventory:&lt;/b&gt; Inventory primarily consists of raw materials purchased for specific manufacturing contracts that are valued at cost on the first-in, first-out basis. Inventory also includes (i) consumables stock and spare parts stock that are valued at cost, less an allowance for obsolescence, with cost determined on the first-in, first-out basis; and (ii) potable water held in the Company&#x2019;s reservoirs that is valued at the lower of the average cost of producing water during the&#160;year or its net realizable value.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;background:#ffffff;"&gt;Contract assets and liabilities:&lt;/b&gt;&lt;span style="background:#ffffff;"&gt; Billing practices for the Company&#x2019;s contracts are governed by the contract terms of each project based upon costs incurred, achievement of milestones or predetermined schedules. Billings do not necessarily correlate with revenue, which is recognized over time using the direct inputs method of accounting. &lt;/span&gt;The Company records contract assets and contract liabilities to account for these differences in timing.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:12.0pt;text-align:justify;margin:0pt;"&gt;Contract assets, which include costs and estimated earnings in excess of billings on uncompleted contracts, arise when the Company recognizes revenue for services performed under its construction and manufacturing contracts, but the Company is not yet entitled to bill the customer under the terms of the contract. Contract liabilities, which include billings in excess of costs and estimated earnings on uncompleted contracts, represent the Company's obligation to transfer goods or services to a customer for which the Company has been paid by the customer or for which the Company has billed the customer under the terms of the contract. Revenue for future services reflected in this account is recognized, and the liability is reduced, as the Company subsequently satisfies the performance obligation under the contract.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:12.0pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Costs and estimated earnings in excess of billings on uncompleted contracts and billings in excess of costs and estimated earnings on uncompleted contracts are typically resolved within one year and are not &lt;span style="background:#ffffff;"&gt;considered&lt;/span&gt; significant financing components.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="background:#ffffff;"&gt;The Company considers retention that is withheld on progress billings as not creating an unconditional right to payment until contractual milestones are reached (typically substantial completion). Accordingly, withheld retention is considered a component of contracts assets and liabilities until finally billed to the customer, when obligations have been satisfied and the right to receipt is subject only to the passage of time.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="background:#ffffff;"&gt;The Company&#x2019;s contract assets and liabilities are reported in a net asset or liability position on a contract-by-contract basis at the end of each reporting period. The Company classifies contract assets and liabilities related to construction and manufacturing contracts in current assets and current liabilities as they will be liquidated in the normal course of contract completion, although this may require more than one year.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Property, plant and equipment, net:&lt;/b&gt; Property, plant and equipment is stated at cost less accumulated depreciation. Depreciation is calculated using a straight-line method with an allowance for estimated residual values. Rates are determined based on the estimated useful lives of the assets as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;5 to 40 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;4 to 40 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Distribution system&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;3 to 40 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Office furniture, fixtures and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;3 to 10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;3 to 10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Shorter of 5 years or lease term&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Lab equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;5 to 10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Assets under construction are recorded as additions to property, plant and equipment upon completion of the projects. Depreciation commences in the&#160;month the asset is placed in service. Additions to construction in progress are comprised of the cost of the contracted services, direct labor and materials.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Interest costs directly attributable to the acquisition and construction of qualifying assets, which are assets that necessarily take a substantial amount of time to be ready for their intended use, are added to the cost of those assets until such time as the assets are substantially ready for use. No interest was capitalized during the years ended December 31, 2022 or 2021.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Long-lived assets:&lt;/b&gt; Long-lived assets are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of the assets might not be recoverable. Conditions that would necessitate an impairment assessment include a significant decline in the observable market value of an asset, a significant change in the extent or manner in which an asset is used, or a significant adverse change that would indicate that the carrying amount of an asset or group of assets is not recoverable. For long-lived assets to be held and used, the Company recognizes an impairment loss only if their carrying amounts are not recoverable through their undiscounted cash flows and measures the impairment loss based on the difference between the carrying amounts and estimated fair values.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Goodwill and intangible assets:&lt;/b&gt; Goodwill represents the excess cost of an acquired business over the fair value of the assets and liabilities of the acquired business. Goodwill and intangible assets acquired in a business combination and determined to have an indefinite useful life are not amortized but are tested for impairment annually or upon the identification of a triggering event. Intangible assets with estimable useful lives are amortized over their respective estimated useful lives to their estimated residual values and reviewed periodically for impairment. The Company evaluates the possible impairment of goodwill annually as part of its reporting process for the fourth quarter of each fiscal&#160;year. Management identifies the Company&#x2019;s reporting units for goodwill impairment testing purposes, which consist of Cayman Water, the bulk segment (which is comprised of CW-Bahamas and OC-Cayman), PERC, and the manufacturing segment (i.e., Aerex), and determines the carrying value of each reporting unit by assigning the assets and liabilities, including the existing goodwill and intangible assets, to those reporting units. The Company determines the fair value of each reporting unit and compares these fair value to the carrying amount of the reporting units. To the extent the carrying amount of the reporting unit exceeds the fair value of the reporting unit, an impairment loss is recorded.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;For the&#160;year ended December&#160;31, 2021, the Company estimated the fair value of its reporting units by applying the discounted cash flow method, which relied upon seven-year discrete projections of operating results, working capital and capital expenditures, along with a terminal value subsequent to the discrete period. These seven-year projections were based upon historical and anticipated future results, general economic and market conditions, and considered the impact of planned business and operational strategies. The discount rates for the calculations represented the estimated cost of capital for market participants at the time of each analysis.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The Company also estimated the fair value of each of its reporting units for the year ended December 31, 2021 by applying the guideline public company method.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The Company weighted the fair values estimated for each of its reporting units under each method and summed such weighted fair values to estimate the overall fair value for each reporting unit. The respective weightings the Company applied to each method for the year ended December&#160;31, 2021 were 80% to the discounted cash flow method and 20% to the guideline public company method.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="font-style:italic;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The fair values the Company estimated for its Cayman Water, bulk segment, PERC, and manufacturing segment reporting units exceeded their carrying amounts by 32%, 51%, 15% and 15% respectively, as of December 31, 2021.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;For the year ended December 31, 2022, the Company elected to assess qualitative factors to determine whether it was necessary to perform the quantitative goodwill impairment testing conducted in prior years for all goodwill reporting units other than the manufacturing reporting unit. The Company assessed relevant events and circumstances to evaluate whether it is more likely than not that the fair values of such reporting units are less than their carrying values. The events and circumstances assessed for each unit included macroeconomic conditions, industry and market conditions, cost factors, overall financial performance, and other relevant events. Based upon this qualitative assessment the Company determined that it was more likely than not that the fair values of its Cayman Water and bulk segment reporting units exceeded their carrying values as of December 31, 2022. Based upon the Company&#x2019;s negotiated, arms-length purchase of the remaining 39% equity interest in PERC from its minority shareholders for $7.8 million in January 2023, the fair value of the Company&#x2019;s PERC reporting unit exceeded its carrying value by 79% as of December 31, 2022.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Due to the factors discussed in the following paragraphs, the Company elected to test the goodwill associated with its manufacturing reporting unit for possible impairment using the quantitative tests applied in prior years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;In connection with its acquisition of Aerex in 2016, the Company recorded goodwill of $8,035,211. Aerex&#x2019;s actual results of operations for 2016 fell significantly short of the projected results that were included in the cash flow projections the Company utilized to determine the purchase price for Aerex and the fair values of its assets and liabilities. Due to this shortfall in Aerex&#x2019;s results of operations, the Company tested its manufacturing reporting unit&#x2019;s goodwill for possible impairment and recorded an impairment loss of $1,750,000 in 2016. As part of its annual impairment testing of goodwill performed during the fourth quarter, in 2017 the Company updated its projections for Aerex&#x2019;s future cash flows, determined that the carrying value of its manufacturing reporting unit exceeded its fair value, and recorded an impairment loss of $1,400,000 for December&#160;31, 2017 to further reduce the carrying value of the manufacturing segment goodwill to $4,885,211.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&#x200b;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"&gt;Approximately 80% of Aerex&#x2019;s revenue, and 89% of Aerex&#x2019;s gross profit, for the year ended December 31,&#160;2020 were generated from sales to one customer. While Aerex sells various products to this customer, Aerex&#x2019;s revenue from this customer has historically been derived primarily from one specialized product. In October 2020, this customer informed Aerex that, for inventory management purposes, it was suspending its purchases of the specialized product from Aerex following 2020 for a period of approximately one year. This customer informed Aerex at that time that it expected to recommence its purchases of the specialized product from Aerex beginning with the first quarter of 2022. As a result of this anticipated loss of revenue for Aerex, the Company updated its projections for its Manufacturing reporting unit&#x2019;s future cash flows. Such projections assumed, in part, that Aerex&#x2019;s major customer would recommence its purchases from Aerex in 2022 but at a reduced aggregate amount, as compared to 2020. Based upon these updated projections, the Company tested its manufacturing reporting unit&#x2019;s goodwill for possible impairment as of December 31, 2020 using the discounted cash flow and guideline public company methods, with a weighting of 80% and 20% applied to these two methods, respectively. As a result of these impairment tests, the Company determined that the estimated fair value of its manufacturing reporting unit exceeded its carrying value by approximately 31% as of December 31, 2020.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;In late July 2021, this former major customer communicated to Aerex that it expected to recommence its purchases of the specialized product from Aerex in 2022 and subsequent years, but informed Aerex that such purchases would be at substantially reduced annual amounts, as compared to the amounts it had purchased from Aerex in 2020 and prior years. The Company&#x2019;s updated sales estimate for this customer based on this new information was substantially below the anticipated sales to this customer for 2022 and subsequent years that the Company used in the discounted cash flow &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"&gt;projections it prepared for purposes of testing its Manufacturing reporting unit&#x2019;s goodwill for possible impairment as of December 31, 2020. Furthermore, Aerex&#x2019;s efforts to replace the revenue previously generated from this customer with revenue from existing and new customers were adversely impacted by the negative economic conditions (caused in part by the COVID-19 pandemic). These negative economic conditions also increased Aerex&#x2019;s raw material costs, resulted in raw material shortages and extended delivery times for such materials, and adversely affected the overall financial condition of Aerex&#x2019;s current and prospective customers. Accordingly, in light of this new information from Aerex&#x2019;s former major customer, and the on-going weak economic conditions that the Company believed would continue through 2022, the Company updated its projections of future cash flows for the manufacturing reporting unit and tested its goodwill for possible impairment as of June 30, 2021 using the discounted cash flow and guideline public company methods, with a weighting of 80% and 20% applied to these two methods, respectively. Based upon this testing, the Company determined that the carrying value of its manufacturing reporting unit exceeded its fair value by $2.9 million, and the Company recorded an impairment loss to reduce its manufacturing segment&#x2019;s goodwill by this amount for the three months ended June 30, 2021.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;For the year ended December&#160;31, 2022, the Company estimated the fair value of its manufacturing reporting unit by applying the discounted cash flow method, which relied upon seven-year discrete projections of operating results, working capital and capital expenditures, along with a terminal value subsequent to the discrete period. These seven-year projections were based upon historical and anticipated future results, general economic and market conditions, and considered the impact of planned business and operational strategies. The discount rates for the calculations represented the estimated cost of capital for market participants at the time of each analysis. The Company also estimated the fair value of its manufacturing reporting unit for the year ended December 31, 2022 by applying the guideline public company method. The Company weighted the fair values estimated for its manufacturing reporting unit under each method and summed such weighted fair values to estimate the overall fair value for the reporting unit. The respective weightings the Company applied to each method for the year ended December&#160;31, 2022 were 80% to the discounted cash flow method and 20% to the guideline public company method.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The fair value the Company estimated for its manufacturing reporting unit exceeded its carrying amount by 63% as of December&#160;31, 2022.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The Company believes the inherent uncertainties associated with the accounting estimates and assumptions it uses for its estimates of its manufacturing reporting unit&#x2019;s fair value have increased due to the current, less predictable economic conditions, which have resulted in increasing raw material prices, extended and unexpected delays in the procurement and delivery of its raw materials, and have also, the Company believes, adversely affected its customers. Should interest rates rise significantly in the future the Company would likely be required to increase the discount rate it uses under the discounted cash flow method to estimate the fair value of this reporting unit, and such increased discount rate in and of itself could decrease the estimated fair value of the manufacturing reporting unit under the discounted cash flow method.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;As noted previously, based upon its estimation prepared as of December 31, 2022, the fair value of the Company&#x2019;s manufacturing reporting unit exceeded its carrying value by 63%. However, if the Company determines in the future that Aerex&#x2019;s discounted future cash inflows will be less than its present expectations, the Company may be required to record additional impairment losses to reduce the remaining carrying values of its manufacturing segment&#x2019;s goodwill and its remaining unamortized intangible assets balances, which amounted to $1,985,211 and $754,444, respectively, as of December 31, 2022. Any such impairment losses could have a material adverse impact on the Company&#x2019;s consolidated results of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Investments:&lt;/b&gt; Investments where the Company does not exercise significant influence over the operating and financial policies of the investee and holds less than 20% of the voting stock are recorded at cost. The Company uses the equity method of accounting for investments in common stock where the Company holds 20% to 50% of the voting stock of the investee and has significant influence over its operating and financial policies but does not meet the criteria for consolidation. The Company recognizes impairment losses on declines in the fair value of the stock of investees that are other than temporary.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Other assets:&lt;/b&gt; Under the terms of CW-Bahamas&#x2019; contract with the Water and Sewerage Corporation of The Bahamas (&#x201c;WSC&#x201d;) to supply water from its Blue Hills desalination plant, CW-Bahamas was required to reduce the amount of water &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;lost by the public water distribution system on New Providence Island, The Bahamas, over a one-year period by 438 million gallons, a requirement CW-Bahamas met during 2007. The Company was solely responsible for the engineering, labor and materials costs incurred to reduce the amount of lost water, which were capitalized and are being amortized on a straight-line basis over the original remaining life of the Blue Hills contract. Such costs are included in other assets and aggregated approximately $3.5 million as of December&#160;31, 2022 and 2021. Accumulated amortization for these costs was approximately $2.9 million and $2.7 million as of December&#160;31, 2022 and 2021, respectively. Amortization expense for these costs was $179,353 for the&#160;years ended December&#160;31, 2022 and 2021.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Income taxes:&lt;/b&gt; The Company accounts for the income taxes arising from the operations of its United States subsidiaries under the asset and liability method. Deferred tax assets and liabilities, if any, are recognized for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss and tax credit carryforwards. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the&#160;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 income in the period that includes the enactment date. A valuation allowance is provided to the extent any deferred tax asset may not be realized.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The Company is not presently subject to income taxes in the other countries in which it operates.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue recognition:&lt;/b&gt; Revenue is recognized when control of the promised goods or services is transferred to the Company&#x2019;s customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those goods or services.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The following table presents the Company&#x2019;s revenue disaggregated by revenue source.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Retail revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 25,954,013&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 22,104,953&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Bulk revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 32,991,066&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 26,800,869&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Services revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,835,428&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13,884,857&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Manufacturing revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,324,465&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,072,823&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total revenue&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 94,104,972&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 66,863,502&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;"&gt;Retail revenue&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company produces and supplies water to end-users, including residential, commercial and governmental customers in the Cayman Islands under an exclusive retail license issued to Cayman Water by the Cayman Islands government to provide water in two of the three most populated areas on Grand Cayman Island. Customers are billed on a&#160;monthly basis based on metered consumption and bills are typically collected within 30 to &lt;span style="-sec-ix-hidden:Hidden_Mq4RJyVkUUicibqvX6HN6A;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;45&#160;days&lt;/span&gt;&lt;/span&gt; after the billing date. Receivables not collected within 45&#160;days subject the customer to disconnection from water service.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company recognizes revenue from water sales at the time water is supplied to the customer&#x2019;s premises. The amount of water supplied is determined and invoiced based upon water meter readings performed at the end of each&#160;month. All retail water contracts are&#160;month-to-month contracts. The Company has elected the &#x201c;right to invoice&#x201d; practical expedient for revenue recognition on its retail water sale contracts and recognizes revenue in the amount to which the Company has a right to invoice.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Bulk revenue&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company produces and supplies water to government-owned utilities in the Cayman Islands and The Bahamas.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;OC-Cayman provides bulk water to the Water Authority-Cayman (&#x201c;WAC&#x201d;), a government-owned utility and regulatory agency, under two agreements. The WAC in turn distributes such water to properties in Grand Cayman outside of Cayman Water&#x2019;s retail license area.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company sells bulk water in The Bahamas through its majority-owned subsidiary, CW-Bahamas, under two agreements with the WSC, which distributes such water through its own pipeline system to residential, commercial and tourist properties on the Island of New Providence.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company has elected the &#x201c;right to invoice&#x201d; practical expedient for revenue recognition on its bulk water sale contracts and recognizes revenue in the amount to which the Company has a right to invoice.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;"&gt;Services and Manufacturing revenue&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company provides design, engineering, management, procurement and construction services for desalination infrastructure through DesalCo, which serves customers in the Cayman Islands, The Bahamas and the British Virgin Islands.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company also designs, builds, sells, operates and manages water, wastewater and water reuse infrastructure through PERC. All of PERC's customers are companies or governmental entities located in the U.S.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company, through Aerex, is a custom and specialty manufacturer of systems and products applicable to commercial, municipal and industrial water production and treatment. Substantially all of Aerex&#x2019;s customers are U.S. companies.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company generates construction and services revenue from DesalCo and PERC and generates manufacturing revenue from Aerex.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company recognizes &lt;span style="background:#ffffff;"&gt;revenue for its construction and custom/specialized manufacturing contracts&#160;&lt;/span&gt;over time under the input method using costs incurred (which represents work performed) to date relative to total estimated costs at completion to measure progress toward satisfying a contract&#x2019;s performance obligations as such measure best reflects the transfer of control of the promised good to the customer. Contract costs include labor, materials and amounts payable to subcontractors. The Company follows this method since it can make reasonably dependable estimates of the revenue and costs applicable to the various stages of a contract. Under this input method, the Company records revenue and recognizes profit or loss as work on the contract progresses. The Company estimates total project costs and profit to be earned on each long-term, fixed price contract prior to commencement of work on the contract and updates these estimates as work on the contract progresses. The cumulative amount of revenue recorded on a contract at a specified point in time is that&#160;percentage of total estimated revenue that incurred costs to date comprise of estimated total contract costs. If, as work progresses, the actual contract costs exceed estimates, the profit recognized on revenue from that contract decreases. The Company recognizes the full amount of any estimated loss on a contract at the time the estimates indicate such a loss. Any contract assets are classified as current assets. Contract liabilities on uncompleted contracts, if any, are classified as current liabilities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company has elected the &#x201c;right to invoice&#x201d; practical expedient for revenue recognition on its services agreements and recognizes revenue in the amount to which the Company has a right to invoice.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;"&gt;Practical Expedients and Exemptions&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company does not disclose the value of unsatisfied performance obligations for (i)&#160;contracts with an original expected length of one&#160;year or less and (ii)&#160;contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Comparative amounts:&lt;/b&gt; Certain amounts presented in the financial statements previously issued for 2021 have been reclassified to conform to the current&#160;year&#x2019;s presentation.&lt;/p&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_QFe3QjlTu0Wmii2A1Jr0rw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Basis of preparation:&lt;/b&gt; The consolidated financial statements presented are prepared in accordance with the accounting principles generally accepted in the United States of America.&lt;/p&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_8lo0GG0Vs0OzxQ4AgWzxDQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Use of estimates:&lt;/b&gt; The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenue and expenses during the reporting period. Significant items subject to estimates and assumptions include the carrying value of property, plant and equipment, intangible assets, goodwill and revenue recognition on construction and manufacturing contracts. Actual results could differ significantly from such estimates.&lt;/p&gt;</us-gaap:UseOfEstimates>
    <us-gaap:ConsolidationPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_yJox8ZnK7E2b600LYIse-g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Basis of consolidation:&lt;/b&gt; The accompanying consolidated financial statements include the accounts of the Company&#x2019;s (i)&#160;wholly-owned subsidiaries, Aerex Industries,&#160;Inc. (&#x201c;Aerex&#x201d;), Aquilex,&#160;Inc. (&#x201c;Aquilex&#x201d;), Cayman Water Company Limited (&#x201c;Cayman Water&#x201d;), Ocean Conversion (Cayman) Limited (&#x201c;OC-Cayman&#x201d;), DesalCo Limited (&#x201c;DesalCo&#x201d;), Consolidated Water Cooperatief, U.A. (&#x201c;CW-Cooperatief&#x201d;), Consolidated Water U.S. Holdings,&#160;Inc. (&#x201c;CW-Holdings&#x201d;); and (ii)&#160;majority-owned subsidiaries Consolidated Water (Bahamas)&#160;Ltd. (&#x201c;CW-Bahamas&#x201d;), N.S.C. Agua, S.A. de C.V. (&#x201c;NSC&#x201d;), Aguas de Rosarito S.A.P.I. de C.V. (&#x201c;AdR&#x201d;), and PERC Water Corporation ("PERC"). The Company&#x2019;s investment in its affiliate Ocean Conversion (BVI)&#160;Ltd. (&#x201c;OC-BVI&#x201d;) is accounted for using the equity method of accounting. All significant intercompany balances and transactions have been eliminated in consolidation.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="background:#ffffff;"&gt;On January 4, 2023, as a result of CW-Holdings' exercise of a call option in October 2022, CW-Holdings purchased the remaining&#160;&lt;/span&gt;&lt;span style="background:#ffffff;"&gt;39%&lt;/span&gt;&lt;span style="background:#ffffff;"&gt; ownership interest in PERC for &lt;/span&gt;&lt;span style="background:#ffffff;"&gt;$2.4&lt;/span&gt;&lt;span style="background:#ffffff;"&gt; million&#160;in cash and &lt;/span&gt;&lt;span style="background:#ffffff;"&gt;368,383&lt;/span&gt;&lt;span style="background:#ffffff;"&gt; shares of the Company&#x2019;s common stock. After giving effect to this purchase, CW-Holdings owns&#160;&lt;/span&gt;&lt;span style="background:#ffffff;"&gt;100%&lt;/span&gt;&lt;span style="background:#ffffff;"&gt; of the outstanding capital stock of PERC.&lt;/span&gt;&lt;/p&gt;</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="As_Of_1_4_2023_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember__4drtsrZXESsUSyeQaBULg"
      decimals="2"
      id="Narr_-pIsKznsgkWMIyTUehVfrg"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.39</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="Duration_1_4_2023_To_1_4_2023_srt_OwnershipAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_UxDkQZ43KEKIN7Oj-2FtIw"
      decimals="-5"
      id="Narr_dU81zW7V8UiELUXvO3M0Vw"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2400000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="Duration_1_4_2023_To_1_4_2023_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_yOgK1SLiHkOOenJfWHS0YA"
      decimals="INF"
      id="Narr_Tkw1_afLwkiRhYrKEsG0aQ"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">368383</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_1_4_2023_srt_OwnershipAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_5JH0iRvD3EWeoHNXQ5FD9g"
      decimals="2"
      id="Narr_z641I59UIkeUfmZXlfZ4EQ"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">1</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_CH_MFVn4OEuLpN096lVv1g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign currency:&lt;/b&gt;&#160;The Company&#x2019;s reporting currency is the United States dollar (&#x201c;US$&#x201d;). The functional currency of the Company and its foreign operating subsidiaries (other than NSC, AdR and CW-Cooperatief) is the currency for each respective country. The functional currency for NSC, AdR and CW-Cooperatief is the US$. NSC and AdR conduct business in US$ and Mexican pesos and CW-Cooperatief conducts business in US$ and euros. The exchange rates for the Cayman Islands dollar and the Bahamian dollar are fixed to the US$. The exchange rates for conversion of Mexican pesos and euros into US$ vary based upon market conditions. Net foreign currency gains arising from transactions and re-measurements were $41,750 and $32,594 for the&#160;years ended December&#160;31, 2022 and 2021, respectively, and are included in &#x201c;Other income (expense)&#160;- Other&#x201d; in the accompanying consolidated statements of income.&lt;/p&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Narr_N5PSX9o5XkaWicqMdpQj3A"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">41750</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Narr_Z8rYrKJim069lZv6L6PpKg"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">32594</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_DGYxl8CjIEezPLyzU5xzgA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Cash and cash equivalents:&lt;/b&gt; Cash and cash equivalents consist of demand deposits at banks and certificates of deposit at banks with an original maturity of three&#160;months or less. Cash and cash equivalents as of December&#160;31, 2022 and 2021 &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;include $5.0 million and $7.4 million, respectively, of certificates of deposit with an original maturity of three&#160;months or less.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;As of December&#160;31, 2022, the Company had deposits in U.S. banks in excess of federally insured limits of approximately $12.5 million. As of December&#160;31, 2022, the Company held cash in foreign bank accounts of approximately $36.6 million.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Certain transfers from the Company&#x2019;s Bahamas bank accounts to Company bank accounts in other countries require the approval of the Central Bank of The Bahamas. The equivalent United States dollar cash balances for deposits held in The Bahamas as of December&#160;31, 2022 and 2021 were approximately $5.7 million and $3.9 million, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Certificate of deposit:&lt;/b&gt; As of December 31, 2022 and 2021, the Company held a certificate of deposit in The Bahamas with an original maturity of six months in the amount of zero and $2.5 million, respectively.&lt;/p&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:CashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2022_us-gaap_CashAndCashEquivalentsAxis_us-gaap_CertificatesOfDepositMember_w-26Mh_Jl0ODGylH5Bbo-Q"
      decimals="-5"
      id="Narr_y8ZbYI3d0E2CqsydWHOTSg"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5000000.0</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2021_us-gaap_CashAndCashEquivalentsAxis_us-gaap_CertificatesOfDepositMember_hlxQMQYPNkypuuFEVTJm0Q"
      decimals="-5"
      id="Narr_ysyJf_YssUuEN_qRuVT6YQ"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">7400000</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashUninsuredAmount
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="-5"
      id="Narr_5mJpEtR-jUynu_7Y9PLHpg"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">12500000</us-gaap:CashUninsuredAmount>
    <cwco:CashAndRestrictedCashEquivalentsHeldInForeignBank
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="-5"
      id="Narr_NJtzQkwVrEuQNHjCS4vB1w"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">36600000</cwco:CashAndRestrictedCashEquivalentsHeldInForeignBank>
    <cwco:DepositsHeldInForeignBank
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="-5"
      id="Narr_zr3lSty4tkqqfsUuoZJ4lQ"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5700000</cwco:DepositsHeldInForeignBank>
    <cwco:DepositsHeldInForeignBank
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="-5"
      id="Narr_A4T9_qJP3UC2w80ut0ySXg"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3900000</cwco:DepositsHeldInForeignBank>
    <us-gaap:CashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_BS_us-gaap_CashAndCashEquivalentsAxis_us-gaap_CertificatesOfDepositMember_0Z6rk_q0Okujdj5GX5uvJA"
      decimals="-5"
      id="Narr_KTEorOIy8UuPItr1go6yEQ"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_BS_us-gaap_CashAndCashEquivalentsAxis_us-gaap_CertificatesOfDepositMember_8rUdYW5GDUGAiZfRLOOF2A"
      decimals="-5"
      id="Narr_s47IqMKh6k-sHaw3_QIHgQ"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2500000</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_dD0JN1lBS0S1ijHIeXgtzA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accounts receivable and allowance for doubtful accounts:&lt;/b&gt; Accounts receivable are recorded at invoiced amounts based on meter readings, contractual amounts, fixed fees plus reimbursables or time and materials per contractual agreements. &lt;span style="background:#ffffff;"&gt;Trade accounts receivable also represent our unconditional right, subject only to the passage of time, to receive consideration arising from our performance under contracts with customers. Trade accounts receivable include amounts billed and billable on construction contracts, service and maintenance contracts and contracts for the sale of goods. Billed contract receivables have been invoiced to customers based on contracted amounts. &lt;/span&gt;The allowance for doubtful accounts is the Company&#x2019;s best estimate of the amount of probable credit losses in the Company&#x2019;s existing accounts receivable balance. The Company determines the allowance for doubtful accounts based on historical write-off experience and&#160;monthly review of delinquent accounts. Past due balances are reviewed individually for collectability. Account balances are charged off against the allowance for doubtful accounts after all means of collection have been exhausted and the potential for recovery is considered by management to be remote.&lt;/p&gt;</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_axzoTMS38EaIrpLKlbQQBQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inventory:&lt;/b&gt; Inventory primarily consists of raw materials purchased for specific manufacturing contracts that are valued at cost on the first-in, first-out basis. Inventory also includes (i) consumables stock and spare parts stock that are valued at cost, less an allowance for obsolescence, with cost determined on the first-in, first-out basis; and (ii) potable water held in the Company&#x2019;s reservoirs that is valued at the lower of the average cost of producing water during the&#160;year or its net realizable value.&lt;/p&gt;</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_SZRfBPBMu0m09kM7BzVbTg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;background:#ffffff;"&gt;Contract assets and liabilities:&lt;/b&gt;&lt;span style="background:#ffffff;"&gt; Billing practices for the Company&#x2019;s contracts are governed by the contract terms of each project based upon costs incurred, achievement of milestones or predetermined schedules. Billings do not necessarily correlate with revenue, which is recognized over time using the direct inputs method of accounting. &lt;/span&gt;The Company records contract assets and contract liabilities to account for these differences in timing.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:12.0pt;text-align:justify;margin:0pt;"&gt;Contract assets, which include costs and estimated earnings in excess of billings on uncompleted contracts, arise when the Company recognizes revenue for services performed under its construction and manufacturing contracts, but the Company is not yet entitled to bill the customer under the terms of the contract. Contract liabilities, which include billings in excess of costs and estimated earnings on uncompleted contracts, represent the Company's obligation to transfer goods or services to a customer for which the Company has been paid by the customer or for which the Company has billed the customer under the terms of the contract. Revenue for future services reflected in this account is recognized, and the liability is reduced, as the Company subsequently satisfies the performance obligation under the contract.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:12.0pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Costs and estimated earnings in excess of billings on uncompleted contracts and billings in excess of costs and estimated earnings on uncompleted contracts are typically resolved within one year and are not &lt;span style="background:#ffffff;"&gt;considered&lt;/span&gt; significant financing components.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="background:#ffffff;"&gt;The Company considers retention that is withheld on progress billings as not creating an unconditional right to payment until contractual milestones are reached (typically substantial completion). Accordingly, withheld retention is considered a component of contracts assets and liabilities until finally billed to the customer, when obligations have been satisfied and the right to receipt is subject only to the passage of time.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="background:#ffffff;"&gt;The Company&#x2019;s contract assets and liabilities are reported in a net asset or liability position on a contract-by-contract basis at the end of each reporting period. The Company classifies contract assets and liabilities related to construction and manufacturing contracts in current assets and current liabilities as they will be liquidated in the normal course of contract completion, although this may require more than one year.&lt;/span&gt;&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_S60lvdrCIkCqwir9Y_JOcg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Property, plant and equipment, net:&lt;/b&gt; Property, plant and equipment is stated at cost less accumulated depreciation. Depreciation is calculated using a straight-line method with an allowance for estimated residual values. Rates are determined based on the estimated useful lives of the assets as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;5 to 40 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;4 to 40 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Distribution system&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;3 to 40 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Office furniture, fixtures and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;3 to 10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;3 to 10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Shorter of 5 years or lease term&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Lab equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;5 to 10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Assets under construction are recorded as additions to property, plant and equipment upon completion of the projects. Depreciation commences in the&#160;month the asset is placed in service. Additions to construction in progress are comprised of the cost of the contracted services, direct labor and materials.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Interest costs directly attributable to the acquisition and construction of qualifying assets, which are assets that necessarily take a substantial amount of time to be ready for their intended use, are added to the cost of those assets until such time as the assets are substantially ready for use. No interest was capitalized during the years ended December 31, 2022 or 2021.&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <cwco:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Group_lnEUznlRFEefcROw3giGVA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;5 to 40 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;4 to 40 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Distribution system&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;3 to 40 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Office furniture, fixtures and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;3 to 10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;3 to 10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:54.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Shorter of 5 years or lease term&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:54.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Lab equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;5 to 10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</cwco:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_Em3nfjzlyUiOsxJ6aR_9TQ"
      id="Narr_t9fArVfEuECE5B8knwdABQ">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_CrRhqVKpokSFVglsF_8dyw"
      id="Narr_kmn0sh220E2xuooElCZUOQ">P40Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_PlantAndEquipmentMember_Qil96oGDl0qWbByqsXAADA"
      id="Narr_N3NUfsu2dUuvauU4wYHlXg">P4Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_PlantAndEquipmentMember_FjX_9MaEwEGsQIjmNL3JaA"
      id="Narr_rr_KWNQCgE-2mNrnsMcjaA">P40Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_DistributionSystemsMember_PNci2u4eqkyApssLolKcaQ"
      id="Narr_DylwfYlxK0mdW95jEQ54ZA">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_DistributionSystemsMember_rKTwVQ67QUSsFaSM1Zsv9Q"
      id="Narr_k7tfdnU6o0aeuArE3OnPAw">P40Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_4gvcaCV6aE-mIKHXLi0oSQ"
      id="Narr_7AmOZ-VIvku9k-bSKXX-5g">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_UjybnyBM_0eHUN7wuvYzxw"
      id="Narr_9ryVEI5gaEC2rq81cmOR6g">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_uF3oC7vwEUmjNVP-o-PC7w"
      id="Narr_Ncgw787jA0-8-lH-vfPDzA">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_w8PCy4tBzU2eNLFJw7Ja3w"
      id="Narr_6TCw_ZixCEWsE2k7fvYE_A">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentEstimatedUsefulLives
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_8DqshODSZUmg5Cds-Qvpbw"
      id="Tc_aaQU4rPkLk-aXk_4QIsjyQ_6_2">Shorter of 5 years or lease term</us-gaap:PropertyPlantAndEquipmentEstimatedUsefulLives>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_LabEquipmentMember_5KH2J5dfSU-DHtl0XB3YmQ"
      id="Narr_rcMFpq5CZE-M0mlM2cUYCg">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_LabEquipmentMember_L-PZFWVK7UKJJGq1RJmH1g"
      id="Narr_lnyDGt_loEWi4dgHNcQIag">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:InterestCostsCapitalized
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Narr_p-ExntPaQUmurrxDG91TGA"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:InterestCostsCapitalized>
    <us-gaap:InterestCostsCapitalized
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Narr_P2qc0llCD0Ka7zfwz1REIA"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:InterestCostsCapitalized>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_HW0YLs6qpkuskd0hIrf0dA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Long-lived assets:&lt;/b&gt; Long-lived assets are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of the assets might not be recoverable. Conditions that would necessitate an impairment assessment include a significant decline in the observable market value of an asset, a significant change in the extent or manner in which an asset is used, or a significant adverse change that would indicate that the carrying amount of an asset or group of assets is not recoverable. For long-lived assets to be held and used, the Company recognizes an impairment loss only if their carrying amounts are not recoverable through their undiscounted cash flows and measures the impairment loss based on the difference between the carrying amounts and estimated fair values.&lt;/p&gt;</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_1thMS2p1406s7GWOxzECaQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Goodwill and intangible assets:&lt;/b&gt; Goodwill represents the excess cost of an acquired business over the fair value of the assets and liabilities of the acquired business. Goodwill and intangible assets acquired in a business combination and determined to have an indefinite useful life are not amortized but are tested for impairment annually or upon the identification of a triggering event. Intangible assets with estimable useful lives are amortized over their respective estimated useful lives to their estimated residual values and reviewed periodically for impairment. The Company evaluates the possible impairment of goodwill annually as part of its reporting process for the fourth quarter of each fiscal&#160;year. Management identifies the Company&#x2019;s reporting units for goodwill impairment testing purposes, which consist of Cayman Water, the bulk segment (which is comprised of CW-Bahamas and OC-Cayman), PERC, and the manufacturing segment (i.e., Aerex), and determines the carrying value of each reporting unit by assigning the assets and liabilities, including the existing goodwill and intangible assets, to those reporting units. The Company determines the fair value of each reporting unit and compares these fair value to the carrying amount of the reporting units. To the extent the carrying amount of the reporting unit exceeds the fair value of the reporting unit, an impairment loss is recorded.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;For the&#160;year ended December&#160;31, 2021, the Company estimated the fair value of its reporting units by applying the discounted cash flow method, which relied upon seven-year discrete projections of operating results, working capital and capital expenditures, along with a terminal value subsequent to the discrete period. These seven-year projections were based upon historical and anticipated future results, general economic and market conditions, and considered the impact of planned business and operational strategies. The discount rates for the calculations represented the estimated cost of capital for market participants at the time of each analysis.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The Company also estimated the fair value of each of its reporting units for the year ended December 31, 2021 by applying the guideline public company method.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The Company weighted the fair values estimated for each of its reporting units under each method and summed such weighted fair values to estimate the overall fair value for each reporting unit. The respective weightings the Company applied to each method for the year ended December&#160;31, 2021 were 80% to the discounted cash flow method and 20% to the guideline public company method.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="font-style:italic;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The fair values the Company estimated for its Cayman Water, bulk segment, PERC, and manufacturing segment reporting units exceeded their carrying amounts by 32%, 51%, 15% and 15% respectively, as of December 31, 2021.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;For the year ended December 31, 2022, the Company elected to assess qualitative factors to determine whether it was necessary to perform the quantitative goodwill impairment testing conducted in prior years for all goodwill reporting units other than the manufacturing reporting unit. The Company assessed relevant events and circumstances to evaluate whether it is more likely than not that the fair values of such reporting units are less than their carrying values. The events and circumstances assessed for each unit included macroeconomic conditions, industry and market conditions, cost factors, overall financial performance, and other relevant events. Based upon this qualitative assessment the Company determined that it was more likely than not that the fair values of its Cayman Water and bulk segment reporting units exceeded their carrying values as of December 31, 2022. Based upon the Company&#x2019;s negotiated, arms-length purchase of the remaining 39% equity interest in PERC from its minority shareholders for $7.8 million in January 2023, the fair value of the Company&#x2019;s PERC reporting unit exceeded its carrying value by 79% as of December 31, 2022.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Due to the factors discussed in the following paragraphs, the Company elected to test the goodwill associated with its manufacturing reporting unit for possible impairment using the quantitative tests applied in prior years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;In connection with its acquisition of Aerex in 2016, the Company recorded goodwill of $8,035,211. Aerex&#x2019;s actual results of operations for 2016 fell significantly short of the projected results that were included in the cash flow projections the Company utilized to determine the purchase price for Aerex and the fair values of its assets and liabilities. Due to this shortfall in Aerex&#x2019;s results of operations, the Company tested its manufacturing reporting unit&#x2019;s goodwill for possible impairment and recorded an impairment loss of $1,750,000 in 2016. As part of its annual impairment testing of goodwill performed during the fourth quarter, in 2017 the Company updated its projections for Aerex&#x2019;s future cash flows, determined that the carrying value of its manufacturing reporting unit exceeded its fair value, and recorded an impairment loss of $1,400,000 for December&#160;31, 2017 to further reduce the carrying value of the manufacturing segment goodwill to $4,885,211.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&#x200b;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"&gt;Approximately 80% of Aerex&#x2019;s revenue, and 89% of Aerex&#x2019;s gross profit, for the year ended December 31,&#160;2020 were generated from sales to one customer. While Aerex sells various products to this customer, Aerex&#x2019;s revenue from this customer has historically been derived primarily from one specialized product. In October 2020, this customer informed Aerex that, for inventory management purposes, it was suspending its purchases of the specialized product from Aerex following 2020 for a period of approximately one year. This customer informed Aerex at that time that it expected to recommence its purchases of the specialized product from Aerex beginning with the first quarter of 2022. As a result of this anticipated loss of revenue for Aerex, the Company updated its projections for its Manufacturing reporting unit&#x2019;s future cash flows. Such projections assumed, in part, that Aerex&#x2019;s major customer would recommence its purchases from Aerex in 2022 but at a reduced aggregate amount, as compared to 2020. Based upon these updated projections, the Company tested its manufacturing reporting unit&#x2019;s goodwill for possible impairment as of December 31, 2020 using the discounted cash flow and guideline public company methods, with a weighting of 80% and 20% applied to these two methods, respectively. As a result of these impairment tests, the Company determined that the estimated fair value of its manufacturing reporting unit exceeded its carrying value by approximately 31% as of December 31, 2020.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;In late July 2021, this former major customer communicated to Aerex that it expected to recommence its purchases of the specialized product from Aerex in 2022 and subsequent years, but informed Aerex that such purchases would be at substantially reduced annual amounts, as compared to the amounts it had purchased from Aerex in 2020 and prior years. The Company&#x2019;s updated sales estimate for this customer based on this new information was substantially below the anticipated sales to this customer for 2022 and subsequent years that the Company used in the discounted cash flow &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"&gt;projections it prepared for purposes of testing its Manufacturing reporting unit&#x2019;s goodwill for possible impairment as of December 31, 2020. Furthermore, Aerex&#x2019;s efforts to replace the revenue previously generated from this customer with revenue from existing and new customers were adversely impacted by the negative economic conditions (caused in part by the COVID-19 pandemic). These negative economic conditions also increased Aerex&#x2019;s raw material costs, resulted in raw material shortages and extended delivery times for such materials, and adversely affected the overall financial condition of Aerex&#x2019;s current and prospective customers. Accordingly, in light of this new information from Aerex&#x2019;s former major customer, and the on-going weak economic conditions that the Company believed would continue through 2022, the Company updated its projections of future cash flows for the manufacturing reporting unit and tested its goodwill for possible impairment as of June 30, 2021 using the discounted cash flow and guideline public company methods, with a weighting of 80% and 20% applied to these two methods, respectively. Based upon this testing, the Company determined that the carrying value of its manufacturing reporting unit exceeded its fair value by $2.9 million, and the Company recorded an impairment loss to reduce its manufacturing segment&#x2019;s goodwill by this amount for the three months ended June 30, 2021.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;For the year ended December&#160;31, 2022, the Company estimated the fair value of its manufacturing reporting unit by applying the discounted cash flow method, which relied upon seven-year discrete projections of operating results, working capital and capital expenditures, along with a terminal value subsequent to the discrete period. These seven-year projections were based upon historical and anticipated future results, general economic and market conditions, and considered the impact of planned business and operational strategies. The discount rates for the calculations represented the estimated cost of capital for market participants at the time of each analysis. The Company also estimated the fair value of its manufacturing reporting unit for the year ended December 31, 2022 by applying the guideline public company method. The Company weighted the fair values estimated for its manufacturing reporting unit under each method and summed such weighted fair values to estimate the overall fair value for the reporting unit. The respective weightings the Company applied to each method for the year ended December&#160;31, 2022 were 80% to the discounted cash flow method and 20% to the guideline public company method.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The fair value the Company estimated for its manufacturing reporting unit exceeded its carrying amount by 63% as of December&#160;31, 2022.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The Company believes the inherent uncertainties associated with the accounting estimates and assumptions it uses for its estimates of its manufacturing reporting unit&#x2019;s fair value have increased due to the current, less predictable economic conditions, which have resulted in increasing raw material prices, extended and unexpected delays in the procurement and delivery of its raw materials, and have also, the Company believes, adversely affected its customers. Should interest rates rise significantly in the future the Company would likely be required to increase the discount rate it uses under the discounted cash flow method to estimate the fair value of this reporting unit, and such increased discount rate in and of itself could decrease the estimated fair value of the manufacturing reporting unit under the discounted cash flow method.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;As noted previously, based upon its estimation prepared as of December 31, 2022, the fair value of the Company&#x2019;s manufacturing reporting unit exceeded its carrying value by 63%. However, if the Company determines in the future that Aerex&#x2019;s discounted future cash inflows will be less than its present expectations, the Company may be required to record additional impairment losses to reduce the remaining carrying values of its manufacturing segment&#x2019;s goodwill and its remaining unamortized intangible assets balances, which amounted to $1,985,211 and $754,444, respectively, as of December 31, 2022. Any such impairment losses could have a material adverse impact on the Company&#x2019;s consolidated results of operations.&lt;/p&gt;</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <cwco:EstimatedFairValuePercentageSegmentReportingInformation
      contextRef="Duration_1_1_2021_To_12_31_2021_cwco_FairValueDeterminingMethodAxis_cwco_DiscountedCashFlowMethodMember_S9l0DYfIFEGZh49BRV-2wQ"
      decimals="2"
      id="Narr_HJj7C3LmfUeSE_yRskuUVQ"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.80</cwco:EstimatedFairValuePercentageSegmentReportingInformation>
    <cwco:EstimatedFairValuePercentageSegmentReportingInformation
      contextRef="Duration_1_1_2021_To_12_31_2021_cwco_FairValueDeterminingMethodAxis_cwco_GuidelinePublicCompanyMethodMember_JU9dvwDmDUKF9tdpPFKbLw"
      decimals="2"
      id="Narr_fuXlog8XbU6h4e2Z9L6Rww"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.20</cwco:EstimatedFairValuePercentageSegmentReportingInformation>
    <cwco:EstimatedFairValueCarryingAmountExceededPercentage
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2vl2R6GlI06abktd3rVnpQ"
      decimals="0"
      id="Narr_ubvpP9HHDkKeRJWMyW2wBw"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">32</cwco:EstimatedFairValueCarryingAmountExceededPercentage>
    <cwco:EstimatedFairValueCarryingAmountExceededPercentage
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_354kqbefw0aUK7SVE131BQ"
      decimals="0"
      id="Narr_9ELfLxwpw02hrrUKI6uULg"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">51</cwco:EstimatedFairValueCarryingAmountExceededPercentage>
    <cwco:EstimatedFairValueCarryingAmountExceededPercentage
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_6gOn62bGkUyBNtALONgh0Q"
      decimals="0"
      id="Narr_eUrkwQVMo0O0QKcjvnv-xg"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">15</cwco:EstimatedFairValueCarryingAmountExceededPercentage>
    <cwco:EstimatedFairValueCarryingAmountExceededPercentage
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_HNPzq4QEk02hzXW6t4ppyg"
      decimals="0"
      id="Narr_6ig8_yxFnEWcLvEB2_gp9A"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">15</cwco:EstimatedFairValueCarryingAmountExceededPercentage>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="As_Of_1_4_2023_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_M9Tj3LyaM0eIw-2WpzSUOw"
      decimals="2"
      id="Narr_sm7gMIZvskaxUbvpWwpWsg"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.39</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="Duration_1_4_2023_To_1_4_2023_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_nxzepvPzM0KtcDwK9rOS1g"
      decimals="-5"
      id="Narr_JeIjrnrpDUebS9gbPP-acQ"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">7800000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2016_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_qMEBcGGIgUm7wdekuaQQmg"
      decimals="0"
      id="Narr_EaRPRrU9f0a5KPmunUwlVQ"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">8035211</us-gaap:Goodwill>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="Duration_1_1_2016_To_12_31_2016_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_uWxQ9n9Tckunz21IObTwrQ"
      decimals="0"
      id="Narr_1jKmTUJ51UegvXHPUPLofQ"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1750000</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_Xq0O_aVBCEi8yhG6kjD16g"
      decimals="0"
      id="Narr_Lgxg0v3RUkOeXdXshmaUlw"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1400000</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2017_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_LpiTapxNU06_IQvMX1-U3g"
      decimals="0"
      id="Narr_jMMny_fpKE-mg4DTPpvqAg"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">4885211</us-gaap:Goodwill>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_cXdBb_NVyEyv0R-Mp02DsA"
      decimals="2"
      id="Narr_maG6A7jNm0KUjU-OFY7fzQ"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.80</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_GrossProfitMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_1STKPf6TiUeVe3wSNKAiPg"
      decimals="2"
      id="Narr_TRu5LErLr0eNEzNPRSONpw"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.89</us-gaap:ConcentrationRiskPercentage1>
    <cwco:NumberOfCustomers
      contextRef="As_Of_12_31_2020_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_Gl5483341kqHQU7d8i3CcQ"
      decimals="INF"
      id="Narr_qc0sH3sZqUK6NR-b2_-8yQ"
      unitRef="Unit_Standard_customer_I__u2hNVxESU-KAhCd2jdg">1</cwco:NumberOfCustomers>
    <cwco:EstimatedFairValuePercentageSegmentReportingInformation
      contextRef="Duration_1_1_2020_To_12_31_2020_cwco_FairValueDeterminingMethodAxis_cwco_DiscountedCashFlowMethodMember_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_21QoIM_rokG9s_Bq4-iyzQ"
      decimals="2"
      id="Narr_u-NYXO2F4U2-0cG2vHhJHg"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.80</cwco:EstimatedFairValuePercentageSegmentReportingInformation>
    <cwco:EstimatedFairValuePercentageSegmentReportingInformation
      contextRef="Duration_1_1_2020_To_12_31_2020_cwco_FairValueDeterminingMethodAxis_cwco_GuidelinePublicCompanyMethodMember_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_MHHEvXRhcUGCYVTyKvHmIA"
      decimals="2"
      id="Narr_kzzThw5mH0yqQA2vD6a9qA"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.20</cwco:EstimatedFairValuePercentageSegmentReportingInformation>
    <cwco:EstimatedFairValueCarryingAmountExceededPercentage
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_7IdFP3y9GUK4CqDwqwuYqA"
      decimals="0"
      id="Narr_2Dw41MhDEES_0kUpTjcwsw"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">31</cwco:EstimatedFairValueCarryingAmountExceededPercentage>
    <cwco:EstimatedFairValuePercentageSegmentReportingInformation
      contextRef="Duration_6_1_2021_To_6_30_2021_cwco_FairValueDeterminingMethodAxis_cwco_DiscountedCashFlowMethodMember_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_vwIK9Cj09Uaz5vGO9GKkMw"
      decimals="2"
      id="Narr_vVTOLJjvQU2eTpmiXFrShQ"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.80</cwco:EstimatedFairValuePercentageSegmentReportingInformation>
    <cwco:EstimatedFairValuePercentageSegmentReportingInformation
      contextRef="Duration_6_1_2021_To_6_30_2021_cwco_FairValueDeterminingMethodAxis_cwco_GuidelinePublicCompanyMethodMember_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_QnWNYZr1aU2yBA8BoGe2yg"
      decimals="2"
      id="Narr_HxrVB4dEpkKu2lGQvhYy6A"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.20</cwco:EstimatedFairValuePercentageSegmentReportingInformation>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="Duration_6_1_2021_To_6_30_2021_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_RTyQ1FjV0kqcpBL6Mq6EjQ"
      decimals="-5"
      id="Narr_LPB7SQYkWUiwo_mygjmLUg"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2900000</us-gaap:GoodwillImpairmentLoss>
    <cwco:EstimatedFairValuePercentageSegmentReportingInformation
      contextRef="Duration_1_1_2021_To_12_31_2021_cwco_FairValueDeterminingMethodAxis_cwco_DiscountedCashFlowMethodMember_S9l0DYfIFEGZh49BRV-2wQ"
      decimals="2"
      id="Narr_FWc8IqaCUEuXZWhqDfKRcA"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.80</cwco:EstimatedFairValuePercentageSegmentReportingInformation>
    <cwco:EstimatedFairValuePercentageSegmentReportingInformation
      contextRef="Duration_1_1_2021_To_12_31_2021_cwco_FairValueDeterminingMethodAxis_cwco_GuidelinePublicCompanyMethodMember_JU9dvwDmDUKF9tdpPFKbLw"
      decimals="2"
      id="Narr_CO87iZXONE658EQDcKgFRA"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.20</cwco:EstimatedFairValuePercentageSegmentReportingInformation>
    <cwco:EstimatedFairValueCarryingAmountExceededPercentage
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_YQxK6fXQiEq2dHsFaCDZRA"
      decimals="0"
      id="Narr_piz8sJB_8Uy0ck51Lf1XxA"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">63</cwco:EstimatedFairValueCarryingAmountExceededPercentage>
    <cwco:EstimatedFairValueCarryingAmountExceededPercentage
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_YQxK6fXQiEq2dHsFaCDZRA"
      decimals="0"
      id="Narr_k-PGR1_Bf0av9zPorOHlCg"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">63</cwco:EstimatedFairValueCarryingAmountExceededPercentage>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2022_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_g2y86SHeUU6VaM8OOFTTQQ"
      decimals="0"
      id="Narr_jR9qag6b3k2hCmqgczHdGA"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1985211</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2022_us-gaap_BusinessAcquisitionAxis_cwco_AerexIndustriesIncMember_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_g2y86SHeUU6VaM8OOFTTQQ"
      decimals="0"
      id="Narr_HKiCHtmb0k6F-tznK9S-6g"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">754444</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:InvestmentPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_DTV0zT-MGEWpd3gQ8RFUAA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Investments:&lt;/b&gt; Investments where the Company does not exercise significant influence over the operating and financial policies of the investee and holds less than 20% of the voting stock are recorded at cost. The Company uses the equity method of accounting for investments in common stock where the Company holds 20% to 50% of the voting stock of the investee and has significant influence over its operating and financial policies but does not meet the criteria for consolidation. The Company recognizes impairment losses on declines in the fair value of the stock of investees that are other than temporary.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:InvestmentPolicyTextBlock>
    <cwco:CriteriaForRecognizingInvestmentAtCost
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_wsa-pawNP0WVex-7rNULig">Investments where the Company does not exercise significant influence over the operating and financial policies of the investee and holds less than 20% of the voting stock are recorded at cost.</cwco:CriteriaForRecognizingInvestmentAtCost>
    <us-gaap:EquityMethodInvestmentAdditionalInformation
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_tMTvGYCxK0OF_Lk3DEOxKg">The Company uses the equity method of accounting for investments in common stock where the Company holds 20% to 50% of the voting stock of the investee and has significant influence over its operating and financial policies but does not meet the criteria for consolidation.</us-gaap:EquityMethodInvestmentAdditionalInformation>
    <cwco:OtherAssetsPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_CL_oX8XYm0-THGNxu_VLNg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Other assets:&lt;/b&gt; Under the terms of CW-Bahamas&#x2019; contract with the Water and Sewerage Corporation of The Bahamas (&#x201c;WSC&#x201d;) to supply water from its Blue Hills desalination plant, CW-Bahamas was required to reduce the amount of water &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;lost by the public water distribution system on New Providence Island, The Bahamas, over a one-year period by 438 million gallons, a requirement CW-Bahamas met during 2007. The Company was solely responsible for the engineering, labor and materials costs incurred to reduce the amount of lost water, which were capitalized and are being amortized on a straight-line basis over the original remaining life of the Blue Hills contract. Such costs are included in other assets and aggregated approximately $3.5 million as of December&#160;31, 2022 and 2021. Accumulated amortization for these costs was approximately $2.9 million and $2.7 million as of December&#160;31, 2022 and 2021, respectively. Amortization expense for these costs was $179,353 for the&#160;years ended December&#160;31, 2022 and 2021.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</cwco:OtherAssetsPolicyTextBlock>
    <cwco:AmountRequiredToReduceAmountOfWaterLostByPublicWaterDistributionSystem
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="-6"
      id="Narr_E2DZYthqfUiTxZVQqYdwzg"
      unitRef="Unit_Standard_gal_UpEjAnoTDkiUT8wjiEd8vw">438000000</cwco:AmountRequiredToReduceAmountOfWaterLostByPublicWaterDistributionSystem>
    <us-gaap:OtherAssets
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_CapitalizedEngineeringLaborAndMaterialsCostMember_ALWgIFPLZ0OhruLlg_Jtfw"
      decimals="-5"
      id="Narr_A7P4RbnjJ0K8TowyVdVQMA"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3500000</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_CapitalizedEngineeringLaborAndMaterialsCostMember_KZbKo2oHK0q9AusqI4_JuQ"
      decimals="-5"
      id="Narr_EWPp_tL2BU2byTyoIHQEaQ"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3500000</us-gaap:OtherAssets>
    <us-gaap:AccumulatedAmortizationOfOtherDeferredCosts
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="-5"
      id="Narr_4YiAvWpQK0Oin23ka-AzBg"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2900000</us-gaap:AccumulatedAmortizationOfOtherDeferredCosts>
    <us-gaap:AccumulatedAmortizationOfOtherDeferredCosts
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="-5"
      id="Narr_Za3yV6rltkiExfLT5AE3tg"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2700000</us-gaap:AccumulatedAmortizationOfOtherDeferredCosts>
    <us-gaap:OtherAmortizationOfDeferredCharges
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Narr_BjekFfQBSEeJQTcOhKHEuA"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">179353</us-gaap:OtherAmortizationOfDeferredCharges>
    <us-gaap:OtherAmortizationOfDeferredCharges
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Narr_USU05RzjFketfAA2lMh73A"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">179353</us-gaap:OtherAmortizationOfDeferredCharges>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_jLiVqVk_K0eD_kKgjbaV5w">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Income taxes:&lt;/b&gt; The Company accounts for the income taxes arising from the operations of its United States subsidiaries under the asset and liability method. Deferred tax assets and liabilities, if any, are recognized for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss and tax credit carryforwards. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the&#160;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 income in the period that includes the enactment date. A valuation allowance is provided to the extent any deferred tax asset may not be realized.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The Company is not presently subject to income taxes in the other countries in which it operates.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:RevenueRecognitionPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_c2URQ7wAFkiEscW94VL0Eg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue recognition:&lt;/b&gt; Revenue is recognized when control of the promised goods or services is transferred to the Company&#x2019;s customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those goods or services.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The following table presents the Company&#x2019;s revenue disaggregated by revenue source.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Retail revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 25,954,013&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 22,104,953&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Bulk revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 32,991,066&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 26,800,869&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Services revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,835,428&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13,884,857&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Manufacturing revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,324,465&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,072,823&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total revenue&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 94,104,972&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 66,863,502&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;"&gt;Retail revenue&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company produces and supplies water to end-users, including residential, commercial and governmental customers in the Cayman Islands under an exclusive retail license issued to Cayman Water by the Cayman Islands government to provide water in two of the three most populated areas on Grand Cayman Island. Customers are billed on a&#160;monthly basis based on metered consumption and bills are typically collected within 30 to &lt;span style="-sec-ix-hidden:Hidden_Mq4RJyVkUUicibqvX6HN6A;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;45&#160;days&lt;/span&gt;&lt;/span&gt; after the billing date. Receivables not collected within 45&#160;days subject the customer to disconnection from water service.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company recognizes revenue from water sales at the time water is supplied to the customer&#x2019;s premises. The amount of water supplied is determined and invoiced based upon water meter readings performed at the end of each&#160;month. All retail water contracts are&#160;month-to-month contracts. The Company has elected the &#x201c;right to invoice&#x201d; practical expedient for revenue recognition on its retail water sale contracts and recognizes revenue in the amount to which the Company has a right to invoice.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Bulk revenue&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company produces and supplies water to government-owned utilities in the Cayman Islands and The Bahamas.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;OC-Cayman provides bulk water to the Water Authority-Cayman (&#x201c;WAC&#x201d;), a government-owned utility and regulatory agency, under two agreements. The WAC in turn distributes such water to properties in Grand Cayman outside of Cayman Water&#x2019;s retail license area.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company sells bulk water in The Bahamas through its majority-owned subsidiary, CW-Bahamas, under two agreements with the WSC, which distributes such water through its own pipeline system to residential, commercial and tourist properties on the Island of New Providence.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company has elected the &#x201c;right to invoice&#x201d; practical expedient for revenue recognition on its bulk water sale contracts and recognizes revenue in the amount to which the Company has a right to invoice.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;"&gt;Services and Manufacturing revenue&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company provides design, engineering, management, procurement and construction services for desalination infrastructure through DesalCo, which serves customers in the Cayman Islands, The Bahamas and the British Virgin Islands.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company also designs, builds, sells, operates and manages water, wastewater and water reuse infrastructure through PERC. All of PERC's customers are companies or governmental entities located in the U.S.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company, through Aerex, is a custom and specialty manufacturer of systems and products applicable to commercial, municipal and industrial water production and treatment. Substantially all of Aerex&#x2019;s customers are U.S. companies.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company generates construction and services revenue from DesalCo and PERC and generates manufacturing revenue from Aerex.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company recognizes &lt;span style="background:#ffffff;"&gt;revenue for its construction and custom/specialized manufacturing contracts&#160;&lt;/span&gt;over time under the input method using costs incurred (which represents work performed) to date relative to total estimated costs at completion to measure progress toward satisfying a contract&#x2019;s performance obligations as such measure best reflects the transfer of control of the promised good to the customer. Contract costs include labor, materials and amounts payable to subcontractors. The Company follows this method since it can make reasonably dependable estimates of the revenue and costs applicable to the various stages of a contract. Under this input method, the Company records revenue and recognizes profit or loss as work on the contract progresses. The Company estimates total project costs and profit to be earned on each long-term, fixed price contract prior to commencement of work on the contract and updates these estimates as work on the contract progresses. The cumulative amount of revenue recorded on a contract at a specified point in time is that&#160;percentage of total estimated revenue that incurred costs to date comprise of estimated total contract costs. If, as work progresses, the actual contract costs exceed estimates, the profit recognized on revenue from that contract decreases. The Company recognizes the full amount of any estimated loss on a contract at the time the estimates indicate such a loss. Any contract assets are classified as current assets. Contract liabilities on uncompleted contracts, if any, are classified as current liabilities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company has elected the &#x201c;right to invoice&#x201d; practical expedient for revenue recognition on its services agreements and recognizes revenue in the amount to which the Company has a right to invoice.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;"&gt;Practical Expedients and Exemptions&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company does not disclose the value of unsatisfied performance obligations for (i)&#160;contracts with an original expected length of one&#160;year or less and (ii)&#160;contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed.&lt;/p&gt;</us-gaap:RevenueRecognitionPolicyTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_ZAbnePLDm0-xBQji8iY_vQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The following table presents the Company&#x2019;s revenue disaggregated by revenue source.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Retail revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 25,954,013&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 22,104,953&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Bulk revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 32,991,066&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 26,800,869&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Services revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,835,428&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13,884,857&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Manufacturing revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,324,465&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,072,823&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total revenue&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 94,104,972&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 66,863,502&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_RetailRevenuesMember_JQ-ibT6FxUGrfvneRYbxHA"
      decimals="0"
      id="Tc_SDHWAy6KUU6nLB7x7or3Mw_3_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">25954013</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_RetailRevenuesMember_Z_vR6-tG9ECKY6a-b8hUrA"
      decimals="0"
      id="Tc_DPgeByWYqkmMYXbZZKN-eA_3_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">22104953</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkRevenuesMember_HRksc1ACyU-matZYrJz-GA"
      decimals="0"
      id="Tc_cjILOzb_3EWMHASiHKsjlw_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">32991066</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkRevenuesMember_8No9bIx1Z02NFBj0vQVdEQ"
      decimals="0"
      id="Tc_kUKNhssC0ka6M7BVgA4LZA_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">26800869</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesRevenuesMember_ZrmTNwyW1025wAkuvps4Dg"
      decimals="0"
      id="Tc_d_sLGnigwk6M0uXu5WKgDg_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">28835428</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesRevenuesMember_TEqoFvdKH0SxHTuQd6k5-g"
      decimals="0"
      id="Tc_213H9mPVTEK9A0OCRpKS3A_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">13884857</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingRevenuesMember_L2hfymQ1t0iePOuBfVj1NA"
      decimals="0"
      id="Tc_CrrVblWw40GGmDdYGY_aFg_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">6324465</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingRevenuesMember_MB4Uw3KolEaV_KC6kmFkYA"
      decimals="0"
      id="Tc_HNDS9EZ0sUaYX7SponYoqA_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">4072823</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_LY9pL_dU8EezLxF-Sukcqg_7_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">94104972</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_9IHNDQ3xrUObyCJGnOvyTQ_7_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">66863502</us-gaap:Revenues>
    <cwco:NumberOfDaysAfterConsumptionBillingsAreCollected
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_kEbnJUzLjE2FsIu-1h89WA"
      id="Narr_E3XBH5KBPkKtApnWpesKvg">P30D</cwco:NumberOfDaysAfterConsumptionBillingsAreCollected>
    <cwco:NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_eOBCwHzDyUCY2OTWBC_4ig">P45D</cwco:NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue>
    <us-gaap:PriorPeriodReclassificationAdjustmentDescription
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_HPwviIMZGUCm1eo2-NX1tQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Comparative amounts:&lt;/b&gt; Certain amounts presented in the financial statements previously issued for 2021 have been reclassified to conform to the current&#160;year&#x2019;s presentation.&lt;/p&gt;</us-gaap:PriorPeriodReclassificationAdjustmentDescription>
    <us-gaap:CashAndCashEquivalentsDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_z9QLA6fwPEqQffu1t6hVAQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;3. Cash and cash equivalents&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Cash and cash equivalents are not restricted by the terms of the Company&#x2019;s bank accounts as to withdrawal or use. As of December&#160;31, 2022 and 2021, the equivalent United States dollars of the Company&#x2019;s cash and cash equivalents, including those accounts denominated in currencies other than the U.S. dollar, are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Bank accounts:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;United States dollar&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 24,573,161&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15,891,277&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Cayman Islands dollar&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 14,956,162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 12,784,358&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Bahamian dollar&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,698,100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,944,208&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 45,227,423&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 32,619,843&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Short term deposits:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;United States dollar&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,484,328&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,324,258&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Cayman Islands dollar&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,413,958&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,484,328&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,738,216&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total cash and cash equivalents&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 50,711,751&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 40,358,059&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;background:#00ff00;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Transfers from the Company&#x2019;s Bahamas bank accounts to Company bank accounts in other countries require the approval of the Central Bank of The Bahamas.&lt;/p&gt;</us-gaap:CashAndCashEquivalentsDisclosureTextBlock>
    <us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_bFWJppe89kCPthNpXhDZMQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Bank accounts:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;United States dollar&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 24,573,161&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15,891,277&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Cayman Islands dollar&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 14,956,162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 12,784,358&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Bahamian dollar&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,698,100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,944,208&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 45,227,423&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 32,619,843&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Short term deposits:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;United States dollar&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,484,328&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,324,258&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Cayman Islands dollar&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,413,958&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,484,328&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,738,216&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total cash and cash equivalents&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 50,711,751&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 40,358,059&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock>
    <us-gaap:Cash
      contextRef="As_Of_12_31_2022_srt_CurrencyAxis_currency_USD_RQ8hUvb1hEOUgjDr_01DPQ"
      decimals="0"
      id="Tc_FPUUXqSvjEab49C97zOUfA_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">24573161</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="As_Of_12_31_2021_srt_CurrencyAxis_currency_USD_RBtuWvMU0Em1L6I-r0D8eg"
      decimals="0"
      id="Tc_4b_VUR1s_UK3n83ktdu3iQ_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">15891277</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="As_Of_12_31_2022_srt_CurrencyAxis_currency_KYD_OoWJjtLIBUeT6bIZ4dIATA"
      decimals="0"
      id="Tc_eiBcNa6VNk2LPGCyV3YE-Q_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">14956162</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="As_Of_12_31_2021_srt_CurrencyAxis_currency_KYD_D_uv01voGECpchOEfrb4VQ"
      decimals="0"
      id="Tc_Lj0B-lO5K0etMCzN-cy-6w_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">12784358</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="As_Of_12_31_2022_srt_CurrencyAxis_currency_BSD_UPtKyAOKmEKIJZRtQDMYqg"
      decimals="0"
      id="Tc_wXrq3D-OIk-Mhbuzs8Yxbw_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5698100</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="As_Of_12_31_2021_srt_CurrencyAxis_currency_BSD_p-g5Rvz1W0Cs0_Ixm8zfAQ"
      decimals="0"
      id="Tc_A20clqouTEuSRt50MRFAnQ_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3944208</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_SqN8Wtl4mk6bWvK5lXisWQ_7_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">45227423</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_NxRzKf-wtkuEng8Iep7RGA_7_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">32619843</us-gaap:Cash>
    <us-gaap:CashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2022_srt_CurrencyAxis_currency_USD_RQ8hUvb1hEOUgjDr_01DPQ"
      decimals="0"
      id="Tc_UhAKUS0ey0-SAGk2KEjr7Q_10_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5484328</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2021_srt_CurrencyAxis_currency_USD_RBtuWvMU0Em1L6I-r0D8eg"
      decimals="0"
      id="Tc_uVHC6gR6OES49GjfgkGg-g_10_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5324258</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2022_srt_CurrencyAxis_currency_KYD_OoWJjtLIBUeT6bIZ4dIATA"
      decimals="0"
      id="Tc_cG6H446DsUqJfUO8JWsv3g_11_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2021_srt_CurrencyAxis_currency_KYD_D_uv01voGECpchOEfrb4VQ"
      decimals="0"
      id="Tc_tXMwDCpDWEeBdfqTnTTpZQ_11_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2413958</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_HqGsbMg1AUSS3HJH1n_VdQ_12_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5484328</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_sc92CBmrn0yvmIYV69EZVA_12_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">7738216</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_HL2GDwiP1ka-p0864_Jssg_13_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">50711751</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_mME0ExZ-AUC29I_X_-lcOQ_13_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">40358059</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_vA_jje7UJ0mmUHi_yqPppA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"&gt;4. Accounts receivable, net&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Trade accounts receivable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,163,719&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,311,188&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Receivable from OC-BVI&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 37,293&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 40,877&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other accounts receivable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,384&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 180,262&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,229,396&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,532,327&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Allowance for doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (183,214)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (183,020)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Accounts receivable, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,046,182&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,349,307&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The activity for the allowance for doubtful accounts consisted of:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Opening allowance for doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 183,020&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 172,269&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Provision for doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Accounts written off during the year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (726)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Recovery of accounts written off &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 920&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,751&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Ending allowance for doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 183,214&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 183,020&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Significant concentrations of credit risk are disclosed in Note&#160;18.&lt;/p&gt;</us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_VBD7Rd2UjkuKb3dc_NYdMQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Trade accounts receivable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,163,719&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,311,188&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Receivable from OC-BVI&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 37,293&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 40,877&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other accounts receivable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,384&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 180,262&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,229,396&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,532,327&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Allowance for doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (183,214)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (183,020)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Accounts receivable, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,046,182&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,349,307&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
    <cwco:AccountsReceivableTradeCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_XA1rfnF770SGtdzrhRM8Ag_3_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">27163719</cwco:AccountsReceivableTradeCurrent>
    <cwco:AccountsReceivableTradeCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_ydQNontucESp3DCHWa6JDQ_3_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">27311188</cwco:AccountsReceivableTradeCurrent>
    <us-gaap:DueFromAffiliateCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_hdW1chTzKUWLscTj9FwpIQ_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">37293</us-gaap:DueFromAffiliateCurrent>
    <us-gaap:DueFromAffiliateCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_N9N_nYQvBkuJA5UszeGTnw_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">40877</us-gaap:DueFromAffiliateCurrent>
    <cwco:AccountsReceivableOtherCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_ih0dHMY2DUOvj-QM3ze7ew_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">28384</cwco:AccountsReceivableOtherCurrent>
    <cwco:AccountsReceivableOtherCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_7dJfNHDKZ0KXR-5ntJ__YQ_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">180262</cwco:AccountsReceivableOtherCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_r5NwHr1noES4qaWWKgEjhg_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">27229396</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_EptpWyGCOUmFfJkeFDdb9Q_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">27532327</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_A68FN-7urU2Upr9arBroug_7_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">183214</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_wUOzjeI3vEyZ-IqpqLZzwg_7_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">183020</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_z6f99oOTuUqCrbnmoO4lnA_8_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">27046182</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_y7kUiN4dEUmNnhnw-_eQ8g_8_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">27349307</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_vXYVYt0yY0WL1EJp7Vl3Eg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The activity for the allowance for doubtful accounts consisted of:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Opening allowance for doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 183,020&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 172,269&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Provision for doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Accounts written off during the year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (726)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Recovery of accounts written off &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 920&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,751&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Ending allowance for doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 183,214&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 183,020&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_1OwnC6dVAkOYehKELROFXg_3_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">183020</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2020_C1Q_2pxGgEajIBJo0wB9rQ"
      decimals="0"
      id="Tc_bVNexb2t1E-f61DyM2bLiQ_3_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">172269</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_PR-E-fCXOU-HIfyQq9ryDA_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_PniddDU11Ein84U3IM4kFQ_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_MLNI8hO4TkyXamzzY1HhDg_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">726</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_TEb7YUEVhEyu4toLpphSpQ_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_icPb7L6VRESON6UeVXxfNA_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">920</us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_jA71E0HXD0CruPRdoxPAQg_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">10751</us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_ZN-fiaomtkinDo6PQ5WaPQ_7_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">183214</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_FlWGBZj6pkas0gdH-Qpgdw_7_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">183020</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_B0AuubqyRE65jxts62Rx_A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"&gt;5. Inventory&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:73.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Water stock&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 36,655&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 34,587&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Consumables stock&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 246,355&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 138,547&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Spare parts stock&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,995,819&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,064,708&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total inventory&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,278,829&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,237,842&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Less current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,727,842&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,504,832&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Inventory (non-current)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,550,987&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,733,010&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryNoncurrentTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_zzunVJZAv0GmQscW08D-HQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:73.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Water stock&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 36,655&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 34,587&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Consumables stock&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 246,355&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 138,547&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Spare parts stock&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,995,819&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,064,708&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total inventory&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,278,829&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,237,842&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Less current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,727,842&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,504,832&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Inventory (non-current)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,550,987&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,733,010&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfInventoryNoncurrentTableTextBlock>
    <us-gaap:InventoryGross
      contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_cwco_WaterStockMember_T-N1HEvbfkWbrE4HvY8WYA"
      decimals="0"
      id="Tc_LUW8rTkVxkeFwpaJBNgZEA_3_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">36655</us-gaap:InventoryGross>
    <us-gaap:InventoryGross
      contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_cwco_WaterStockMember_vhVPTC7NI06wr0sLixMhyg"
      decimals="0"
      id="Tc_SfNkRv0BZ0aIgNuANzpdwQ_3_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">34587</us-gaap:InventoryGross>
    <us-gaap:InventoryGross
      contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_cwco_ConsumablesStockMember_G73ZcJAil0urdxdXRkvu0g"
      decimals="0"
      id="Tc_dmFCbpMkBUWEy8ThRsh-vw_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">246355</us-gaap:InventoryGross>
    <us-gaap:InventoryGross
      contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_cwco_ConsumablesStockMember_xMIfagRwP0u3iCE1KoSeQA"
      decimals="0"
      id="Tc_jkiDPAeyyEmG6OyyVWc_eA_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">138547</us-gaap:InventoryGross>
    <us-gaap:InventoryGross
      contextRef="As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_cwco_SparePartsStockMember_1NXF2RIfEEOpIVmEUIJKxw"
      decimals="0"
      id="Tc_-nfUqipPN0u2S3LFzgWEow_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">9995819</us-gaap:InventoryGross>
    <us-gaap:InventoryGross
      contextRef="As_Of_12_31_2021_us-gaap_StatementClassOfStockAxis_cwco_SparePartsStockMember_olmPGB-pVkiqMgFCV4q4MQ"
      decimals="0"
      id="Tc_5tiybG6icEKF2jUFyOC6ug_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">7064708</us-gaap:InventoryGross>
    <us-gaap:InventoryGross
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_dj83ZrkoBkS5gjmHsFvwow_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">10278829</us-gaap:InventoryGross>
    <us-gaap:InventoryGross
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_YVhCroT3NEuHqHdZcF-_4A_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">7237842</us-gaap:InventoryGross>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_hJKS_2G-lkCpKYVtp8hJ3w_7_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5727842</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_wXWWjD8Pm0ChD4XROcXB-g_7_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2504832</us-gaap:InventoryNet>
    <us-gaap:InventoryNoncurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_5KXBf6arvkCplfACdDFw5Q_8_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">4550987</us-gaap:InventoryNoncurrent>
    <us-gaap:InventoryNoncurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_4PC4jpnRLUu2Y6EW5EDfbQ_8_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">4733010</us-gaap:InventoryNoncurrent>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_md7KJLAUe0u3vqyEprd7xQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;6. Contracts in progress&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Revenue recognized and amounts billed on contracts in progress are summarized as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Revenue recognized to date on contracts in progress&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,469,014&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,109,396&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Amounts billed to date on contracts in progress&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (33,407,182)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,370,855)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Retainage&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,047,969&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 237,542&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net contract liability&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,890,199)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (23,917)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;The above net balances are reflected in the accompanying consolidated balance sheet as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="color:#00b050;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Contract assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,913,722&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 489,961&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Contract liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (8,803,921)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (513,878)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net contract liability&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,890,199)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (23,917)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="color:#00b050;font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="color:#00b050;font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="color:#00b050;font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The significant increase in contract liabilities from December 31, 2021 to December 31, 2022 is primarily attributable to billings on PERC&#x2019;s construction contract with Liberty Utilities for a water treatment facility in Arizona.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;As of &lt;span style="-sec-ix-hidden:Hidden_IYfoFNovFk6_DJ7VkUWbZg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;December 31, &lt;/span&gt;&lt;/span&gt;2022, the Company had unsatisfied or partially unsatisfied performance obligations for contracts in progress representing approximately $97.9 million in aggregate transaction price for contracts with an original expected length of greater than one year. The Company expects to earn revenue as it satisfies its performance obligations under those contracts in the amount of approximately $75.3 million during the year ending &lt;span style="-sec-ix-hidden:Hidden_krpoWHDnsEuXcTJZVPGkeA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;December 31, 2023&lt;/span&gt;&lt;/span&gt; and $22.6 million &lt;span style="-sec-ix-hidden:Hidden_-N3RFjmXGU2GbGZ4UxVTaQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;thereafter&lt;/span&gt;&lt;/span&gt;. In addition, the Company recognized revenue of $468,000 in the year ended December 31,&#160;2022, that was included in the contract liability balance as of December 31, 2021.&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <cwco:ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_4ZTpQHVc2EuUVYS9ovUl6A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Revenue recognized and amounts billed on contracts in progress are summarized as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Revenue recognized to date on contracts in progress&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,469,014&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,109,396&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Amounts billed to date on contracts in progress&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (33,407,182)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,370,855)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Retainage&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,047,969&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 237,542&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net contract liability&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,890,199)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (23,917)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;The above net balances are reflected in the accompanying consolidated balance sheet as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="color:#00b050;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Contract assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,913,722&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 489,961&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Contract liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (8,803,921)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (513,878)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net contract liability&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,890,199)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (23,917)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="color:#00b050;font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</cwco:ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_7YXzkRvVdEKme6cJSn_8Hg_3_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">25469014</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_88HWXfnSbEOOoEGDSexNZg_3_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">6109396</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <cwco:ContractWithCustomerAmountBilled
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_G434XlBd9E2qSsF_eCreng_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">33407182</cwco:ContractWithCustomerAmountBilled>
    <cwco:ContractWithCustomerAmountBilled
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_W9I-FXDSY0KdLdfQPz7mOA_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">6370855</cwco:ContractWithCustomerAmountBilled>
    <cwco:ContractWithCustomerRetainage
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_IZKlsjqTkUGTKX1amMlCQw_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2047969</cwco:ContractWithCustomerRetainage>
    <cwco:ContractWithCustomerRetainage
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_VBRRQIIRT024n3G__52FIg_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">237542</cwco:ContractWithCustomerRetainage>
    <cwco:ContractWithCustomerNetOverbillings
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_cqX0Cy_XCEifNLeEWuggyQ_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-5890199</cwco:ContractWithCustomerNetOverbillings>
    <cwco:ContractWithCustomerNetOverbillings
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_HEZJlo7hMkyMFPRZSjzH2Q_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-23917</cwco:ContractWithCustomerNetOverbillings>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_q8YbJkMoR0OLRq5SuuY_RQ_3_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2913722</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_cawZ7q-qVkSFxgBI5CUeBA_3_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">489961</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_Jb-h_eApsUKFSwl3CRSeQQ_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">8803921</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_-Ou5LsSr9UaK3qUN3sJenw_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">513878</us-gaap:ContractWithCustomerLiabilityCurrent>
    <cwco:ContractWithCustomerNetOverbillings
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_PKVdrwwZS0mULU3EifZ9-w_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-5890199</cwco:ContractWithCustomerNetOverbillings>
    <cwco:ContractWithCustomerNetOverbillings
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_OARwW7uwJESbPkfV_WAa_Q_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-23917</cwco:ContractWithCustomerNetOverbillings>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="As_Of_12_31_2022_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_cwco_cnst_2022-12-31_pDIaB1foqk-hwPkXpc-QtQ"
      decimals="-5"
      id="Narr_p9qYDRGKhUSG62tY0rdrng"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">97900000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="As_Of_12_31_2022_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_cwco_cnst_2023-12-31_xdSBFhmI80G1jIpP1DOrQw"
      decimals="-5"
      id="Narr_uJRbBfdapUqZM2vLPaTd5Q"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">75300000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="As_Of_12_31_2022_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_cwco_cnst_date_20241231_7G14Fu6DbUOM9cpNk5V06w"
      decimals="-5"
      id="Narr_gydgCmqw8U6rvF7z0ld5_A"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">22600000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Narr_1QLg1kw4v0OkJAeRPxAYqA"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">468000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb__R9qpdI3V0u_PGYrNbgc8A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"&gt;7. Property, plant and equipment and construction in progress&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Land&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,488,400&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,316,537&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 23,280,880&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 23,255,925&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 64,532,994&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 64,324,377&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Distribution system&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 39,544,395&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 39,780,272&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Office furniture, fixtures and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,109,546&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,051,814&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,525,576&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,079,874&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 287,980&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 287,980&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Lab equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 12,456&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 12,456&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 139,782,227&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 136,109,235&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Less accumulated depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 87,252,682&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 83,162,696&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Property, plant and equipment, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 52,529,545&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 52,946,539&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Construction in progress&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,705,681&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 710,863&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;As of December&#160;31, 2022, the Company had outstanding capital commitments of approximately $2.0 million. The Company maintains insurance for loss or damage to all fixed assets that it deems susceptible to loss. During the&#160;years ended December&#160;31, 2022 and 2021, $297,723 and $644,224, respectively, of construction in progress was placed in service. Depreciation expense was $5,425,177 and $5,995,213 for the&#160;years ended December&#160;31, 2022 and 2021, respectively.&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_Vx3gkOJ6skqZ9KWsOqPQHQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Land&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,488,400&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,316,537&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 23,280,880&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 23,255,925&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 64,532,994&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 64,324,377&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Distribution system&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 39,544,395&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 39,780,272&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Office furniture, fixtures and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,109,546&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,051,814&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,525,576&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,079,874&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 287,980&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 287,980&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Lab equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 12,456&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 12,456&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 139,782,227&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 136,109,235&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Less accumulated depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 87,252,682&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 83,162,696&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Property, plant and equipment, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 52,529,545&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 52,946,539&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:71.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Construction in progress&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,705,681&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 710,863&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_q1bM9bwnUEO2UEWy0T-ohw"
      decimals="0"
      id="Tc_ge_luX9JGUupzOfgeQV1Qw_3_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">6488400</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_Rs3QYfM3aEuEDEk-lOiWtg"
      decimals="0"
      id="Tc__VWn4sVqlUOZ7AmCU1gjtw_3_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3316537</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_-XEZN2yfpUyMrWj0DeQ0TQ"
      decimals="0"
      id="Tc_kxrBYT1ub02_JOSTJVdTgg_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">23280880</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_9t5ABujKlEik3aHffAM6tQ"
      decimals="0"
      id="Tc_7bECssjiLUOXPZ6bS4MnTA_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">23255925</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_PlantAndEquipmentMember_VRKix0K_Nk-xYFNeN_XZ1g"
      decimals="0"
      id="Tc_u363m6hQZEWV_wOB8_o-UQ_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">64532994</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_PlantAndEquipmentMember_3mrFm3mOyEWHAExx_pe8Pg"
      decimals="0"
      id="Tc_ofhP1O0-TkWoH9xKJrTCqQ_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">64324377</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_DistributionSystemsMember_HYs72WwND0aaruOAZ7g27Q"
      decimals="0"
      id="Tc_uC3uoBBZQU-CsemuGgkP5g_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">39544395</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_DistributionSystemsMember_2c7g3Pkv9EGiLLSobFyycQ"
      decimals="0"
      id="Tc_sB6uS9k4eUCqkuwUuldAbA_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">39780272</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_QloPZuaO-UCvfutzvAz0LQ"
      decimals="0"
      id="Tc_0AL_R6hI70aIu2rszg-Mdw_7_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3109546</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_W1k_tDFvwECgbdd0je_3qA"
      decimals="0"
      id="Tc_-qwb0-WXOkClZlBEDI54Hw_7_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3051814</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_mw3wyW_9LU6U448K2z4pRw"
      decimals="0"
      id="Tc__c9ulrt6CEyJswsQ8LTCwg_8_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2525576</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_FIwZb1208EC6qe0eO3ir6Q"
      decimals="0"
      id="Tc_vw0yB3P-8UybScjGKHuIRA_8_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2079874</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_EOtT9ovp6kKj_c6U2eUzbw"
      decimals="0"
      id="Tc__mKQzf38r0yChSPoTHzdsw_9_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">287980</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_0ibF_bVy7kWco3HBqVjc-A"
      decimals="0"
      id="Tc_lGVy-BFiK0GElwI0qVNdKA_9_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">287980</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_LabEquipmentMember_QMnj4GPSqUGYeP5yGVt5Xg"
      decimals="0"
      id="Tc_yu4ivPEkVUy2xXf2XnnNZg_10_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">12456</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cwco_LabEquipmentMember_Wwjt8Ir4H0q_Okmavwhc3g"
      decimals="0"
      id="Tc_a2gjWHqAf0mHCr-Ve3m-FA_10_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">12456</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_erwEjnas0ki6apQ12Yd8sQ_11_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">139782227</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_vqN3Kk9A_UKAk5rdm4MDiQ_11_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">136109235</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_Wc08KEDER0W10-RuwjHDNw_12_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">87252682</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_g7_jHy_uU06mdowcZRbCdQ_12_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">83162696</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_xbZDodgQL02QoSua64ezBQ_13_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">52529545</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_9poocmfrkE2f_6UoVFWNTg_13_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">52946539</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:ConstructionInProgressGross
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_mj2GipvoBEa5epy8s2MREg_14_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3705681</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_meFGuzrWmkCydXLLPDc8-w_14_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">710863</us-gaap:ConstructionInProgressGross>
    <cwco:CapitalCommitments
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="-5"
      id="Narr_kJcBNhEH9Eink6kQ02RBXw"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2000000.0</cwco:CapitalCommitments>
    <cwco:ConstructionInProgressPlacedInService
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="INF"
      id="Narr_nvd36GlRvE6nbCfOhQVuKw"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">297723</cwco:ConstructionInProgressPlacedInService>
    <cwco:ConstructionInProgressPlacedInService
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Narr_KUR5V1Winkua4YKoB2p1hg"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">644224</cwco:ConstructionInProgressPlacedInService>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Narr_M5KGzzKqS0qiZIE3qn0PbA"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5425177</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Narr_ImsvwUUZ1UW0xPZ-Qsm3pw"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5995213</us-gaap:Depreciation>
    <us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_63AUnGZRUU65TdjM23aiYQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;8. Discontinued operations &#x2013; Mexico project development&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"&gt;In 2010, the Company began the pursuit, through its Netherlands subsidiary, Consolidated Water Cooperatief, U.A. (&#x201c;CW-Cooperatief&#x201d;), and its Mexico subsidiary, N.S.C. Agua, S.A. de C.V. (&#x201c;NSC&#x201d;), of a project (the &#x201c;Project&#x201d;) that encompassed the construction, operation and minority ownership of a 100 million gallon per day seawater reverse osmosis desalination plant to be located in northern Baja California, Mexico and accompanying pipelines to deliver water to the Mexican potable water system.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Through a series of transactions that began in 2012, NSC purchased 20.1 hectares of land for approximately $21.1 million on which the proposed Project&#x2019;s plant was to be constructed.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&#x200b;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Following an assessment by the State of Baja, California (the &#x201c;State&#x201d;) of the need for such a desalination plant and the passage of enabling legislation in November 2015, the State officially commenced the required public tender for the Project. A consortium (the &#x201c;Consortium&#x201d;) comprised of NSC, Suez Medio Ambiente M&#xe9;xico, S.A. de C.V. (&#x201c;Suez MA&#x201d;), a subsidiary of SUEZ International, S.A.S., and NuWater S.A.P.I. de C.V. (&#x201c;NuWater&#x201d;) submitted its tender for the Project in April 2016 and in June 2016, the State designated the Consortium as the winner of the tender process for the Project.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&#x200b;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;In August 2016, NSC and NuWater incorporated a new company under the name Aguas de Rosarito S.A.P.I. de C.V. (&#x201c;AdR&#x201d;) to pursue completion of the Project and executed a shareholders agreement for AdR agreeing among other things that (i) AdR would purchase the land and other Project assets from NSC on the date that the Project begins commercial operation and (ii) AdR would enter into a Management and Technical Services Agreement with NSC effective on the first day that the Project begins commercial operation. NSC initially owned 99.6% of the equity of AdR. In February 2018, CW-Holdings acquired the remaining 0.4% ownership in AdR from NuWater.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&#x200b;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;On August 22, 2016, the Public Private Partnership Agreement for the Project (the &#x201c;APP Contract&#x201d;) was executed between AdR, the State Water Commission of Baja California (&#x201c;CEA&#x201d;), the Government of Baja California, as represented by the Secretary of Planning and Finance and the Public Utilities Commission of Tijuana (&#x201c;CESPT&#x201d;). The APP Contract required AdR to design, construct, finance and operate a seawater reverse osmosis desalination plant (and accompanying aqueduct) with a capacity of up to 100 million gallons per day in two phases: the first with a capacity of 50 million gallons per day and an aqueduct to the Mexican public water system in Tijuana, Baja California and the second phase with a capacity of 50 million gallons per day. The first phase was to be operational within 36 months of commencing construction and the &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;second phase was to be operational by January 2025. The APP Contract further required AdR to operate and maintain the plant and aqueduct for a period of 37 years starting from the commencement of operation of the first phase. At the end of the operating period, the plant and aqueduct would have been transferred to CEA. The APP Contract was subsequently amended by the parties in June 2018 to increase the scope of Phase 1 and to allow for changes in the water tariff due to the changes in the exchange rate for the peso, interest rates and construction costs that had and would occur from the date the APP Contract was signed to the date construction commenced.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;On June 29, 2020, AdR received a letter (the &#x201c;Letter&#x201d;) from the Director General of CEA and the Director General of CESPT terminating the APP Contract. The Letter requested that AdR provide an inventory of the assets that currently comprise the &#x201c;Project Works&#x201d; (as defined in the APP Contract) for the purpose of acknowledging and paying the non-recoverable expenses made by AdR in connection with the Project, with such reimbursement to be calculated in accordance with the terms of the APP Contract. The applicable law required that this list of non-recoverable expenses made by AdR in connection with the Project be submitted to CEA and CESPT within 20 business days from the date of receipt of the Letter. AdR initiated an&#160;amparo&#160;claim before a federal district court in Tijuana, Baja California, to challenge the provision of the applicable law requiring submittal of the list of non-recoverable expenses within the&#160;20&#160;business days term, as AdR considered such term to be unreasonably short due to the magnitude of the Project and the scope of supporting documentation required to be provided with respect to the non-recoverable expenses. AdR obtained an initial provisional suspension of the lapsing of such 20-day term from the court, and on August 10, 2020 the court made such suspension definitive until the completion of the amparo trial. As such, the&#160;20-day&#160;term for filing the list of non-recoverable expenses was suspended. Therefore, on August 28, 2020, AdR submitted their list of non-recoverable expenses, including those of NSC, to CEA and CESPT which was comprised of 51,144,525 United States dollars and an additional 137,333,114 Mexican pesos. In February 2021, AdR withdrew this amparo claim, and such withdrawal was accepted by the federal district court in Tijuana. To date, AdR has not received a formal response from CEA or CESPT to its submission of non-recoverable expenses.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The Company believes CW-Cooperatief, as a Netherlands company, has certain rights relating to its investments in NSC and AdR under the &lt;i style="font-style:italic;"&gt;Agreement on Promotion, Encouragement and Reciprocal Protection of Investments between the Kingdom of the Netherlands and the United Mexican States &lt;/i&gt;entered into force as of October 1, 1999 (the &#x201c;Treaty&#x201d;). On April 16, 2021, CW-Cooperatief submitted a letter to the President of Mexico and other Mexican federal government officials alleging that the State&#x2019;s termination of the APP Contract constituted a breach by Mexico of its international obligations under the Treaty, entitling CW-Cooperatief to full reparation, including monetary damages. This letter invites Mexico to seek a resolution of this investment dispute through consultation and negotiation, but stated that if the dispute cannot be resolved in this manner, CW-Cooperatief elects to refer the dispute to the International Centre for the Settlement of International Disputes for arbitration, as provided for in the Treaty. On June 29, 2021, the Mexican Ministry of Economy responded to CW-Cooperatief&#x2019;s letter and proposed to hold a consultation meeting. Two such meetings were held on July 9, 2021 and August 2, 2021 on a confidential basis, without a resolution of the Company&#x2019;s investment dispute.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;text-align:justify;background:#ffffff;margin:0pt;"&gt;On February 9, 2022, CW-Cooperatief, filed a Request for Arbitration with the International Centre for Settlement of International Disputes requesting that the United Mexican States pay CW-Cooperatief damages in excess of US$51 million plus MXN$137 million (with the exact amount to be quantified in the proceedings), plus fees, costs and pre- and post-award interest.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;background:#ffffff;margin:0pt 0pt 12pt 0pt;"&gt;CW-Cooperatief intends to pursue vigorously the relief sought in the arbitration, in addition to pursuing all other legal remedies and courses of action available under the operative contracts and applicable law with respect to their rights, damages, fees and expenses. The Company cannot provide any assurances that CW-Cooperatief will be able to obtain the relief sought in the arbitration, and CW-Cooperatief will incur legal and other arbitration-related expenses that the Company expects will be material to its consolidated results of operations and cash flows.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;During July 2022, the State initiated discussions with the Company to potentially resolve the issues related to the cancellation by the government of the Rosarito desalination plant contract as well as potentially addressing the State&#x2019;s acute water shortage issues. The Company cannot presently determine the outcome of the discussions and the Company has not terminated its efforts to obtain relief through the international arbitration process as a result of these discussions.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The Company cannot provide any assurances that it will be able to obtain reimbursement for any expenses or investments made with respect to the Project.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;As a result of the cancellation of the APP Contract, in 2020 the Company discontinued all development activities associated with the Project and commenced active marketing efforts to sell the land NSC purchased for the Project. Accordingly, the assets and liabilities of CW-Cooperatief, NSC and AdR, as well as the costs for legal and administrative activities to pursue reimbursement from the State of Baja California following the cancellation of the APP Contract, have been classified as discontinued operations in the accompanying consolidated financial statements.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The Company&#x2019;s net losses from discontinued operations for the years ended December&#160;31,&#160;2022 and 2021 were ($2,371,049) and ($2,574,079), respectively. The Company&#x2019;s net losses from discontinued operations for 2022 and 2021 includes provisions of $377,326 and $963,540, respectively, for uncollectible value added taxes paid to, and reimbursable from, the Mexican federal government.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="background:#ffffff;"&gt;Summarized financial information for the discontinued Mexico project development operation is as follows:&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Cash&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';"&gt;&#160;&#160;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 442,252&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';"&gt;&#160;&#160;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 750,048&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Accounts receivable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,675&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Prepaid expenses and other current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 75,826&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 82,783&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;"&gt;Value added taxes receivable &lt;/span&gt;(net of allowance of $1,711,234 and $1,279,757, respectively)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 727&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 340,910&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Land&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,126,898&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,126,898&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,390&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,288&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total assets of discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,660,768&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,319,927&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total liabilities of discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 389,884&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 190,141&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;background:#ffffff;margin:0pt;"&gt;&lt;span style="color:#00b050;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Provision for uncollected value added taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 377,326&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 963,540&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Loss from discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,371,049&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,574,079&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Depreciation expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,545&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock>
    <cwco:SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity
      contextRef="Duration_5_1_2010_To_5_31_2010_srt_OwnershipAxis_cwco_NSCAguaMember_o1P21uztVUeONg-bTW14zA"
      decimals="-6"
      id="Narr_x-Wsc59zR0asu0qH7-CdKg"
      unitRef="Unit_Standard_gal_UpEjAnoTDkiUT8wjiEd8vw">100000000</cwco:SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity>
    <us-gaap:AreaOfLand
      contextRef="As_Of_12_31_2012_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_cwco_NSCAguaMember_nJS1kulStUK0Kdgxr5V7Gg"
      decimals="1"
      id="Narr_k1TRdSwb9Uuj0AHhjPOM_w"
      unitRef="Unit_Standard_ha_DTzSJvvPjEizTLVgW4jN-Q">20.1</us-gaap:AreaOfLand>
    <cwco:PaymentForLandAndRightOfWayHeldForDevelopment
      contextRef="Duration_1_1_2012_To_12_31_2012_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_cwco_NSCAguaMember_1K26GRGPsU6Fce9D2BT6gQ"
      decimals="-5"
      id="Narr_OCUzZFQ8Q0qoHRrOsi1jfg"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">21100000</cwco:PaymentForLandAndRightOfWayHeldForDevelopment>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_8_31_2016_srt_OwnershipAxis_cwco_NSCAguaMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_cwco_AguasDeRosaritoSapiDeCvMember_CUyCWJnWt0yfe3bZF2yAeQ"
      decimals="3"
      id="Narr_2CM-gkxV-EquKKcc3qQbuQ"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.996</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="As_Of_2_28_2018_srt_OwnershipAxis_cwco_NSCAguaMember_W0-Wx1olUkqDOFvFloVsPQ"
      decimals="3"
      id="Narr_4KBmmPzGtkOtOnMBk1KJwA"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.004</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <cwco:SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity
      contextRef="Duration_8_22_2016_To_8_22_2016_srt_OwnershipAxis_cwco_NSCAguaMember_ZQ2zplKDEUKq2piBPsd4sg"
      decimals="-6"
      id="Narr_ZEVE2TGE0UKXwES9rFHXyg"
      unitRef="Unit_Standard_gal_UpEjAnoTDkiUT8wjiEd8vw">100000000</cwco:SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity>
    <cwco:SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity
      contextRef="Duration_8_22_2016_To_8_22_2016_cwco_TypeOfPhasesAxis_cwco_FirstPhaseMember_srt_OwnershipAxis_cwco_NSCAguaMember_roSAHkYavES55nLQFW9Rqw"
      decimals="-6"
      id="Narr_4YFR_YuUwE6T2tMwV773XQ"
      unitRef="Unit_Standard_gal_UpEjAnoTDkiUT8wjiEd8vw">50000000</cwco:SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity>
    <cwco:SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity
      contextRef="Duration_8_22_2016_To_8_22_2016_cwco_TypeOfPhasesAxis_cwco_SecondPhaseMember_srt_OwnershipAxis_cwco_NSCAguaMember_CRd5YYF9mEufmgRhhivLeQ"
      decimals="-6"
      id="Narr_uVmqGFc0Mk6mOH7fwWD0uQ"
      unitRef="Unit_Standard_gal_UpEjAnoTDkiUT8wjiEd8vw">50000000</cwco:SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity>
    <cwco:PeriodInWhichConstructionMustBeCompleted
      contextRef="Duration_8_22_2016_To_8_22_2016_srt_OwnershipAxis_cwco_NSCAguaMember_ZQ2zplKDEUKq2piBPsd4sg"
      id="Narr_SzCgk-D4vU6S0EkF3MbfSw">P36M</cwco:PeriodInWhichConstructionMustBeCompleted>
    <cwco:PeriodRequiredToOperateAndMaintainPlantAndAqueduct
      contextRef="Duration_8_22_2016_To_8_22_2016_srt_OwnershipAxis_cwco_NSCAguaMember_ZQ2zplKDEUKq2piBPsd4sg"
      id="Narr_7-1RoN3fT02tJFHpCgwgcA">P37Y</cwco:PeriodRequiredToOperateAndMaintainPlantAndAqueduct>
    <cwco:NumberOfDaysToSubmitListOfNonRecoverableExpenses
      contextRef="Duration_6_29_2020_To_6_29_2020_sPMd70VDuUCJoqa8nbPbZQ"
      id="Narr_Z-quEAql00S9EhhABXHJOA">P20D</cwco:NumberOfDaysToSubmitListOfNonRecoverableExpenses>
    <cwco:DiscontinuedOperationsNonRecoverableExpenses
      contextRef="Duration_8_28_2020_To_8_28_2020_ZfbhLREj80G86h6sYfxZrA"
      decimals="0"
      id="Narr_sQgpH3MebUO6CJessa20iA"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">51144525</cwco:DiscontinuedOperationsNonRecoverableExpenses>
    <cwco:DiscontinuedOperationsNonRecoverableExpenses
      contextRef="Duration_8_28_2020_To_8_28_2020_ZfbhLREj80G86h6sYfxZrA"
      decimals="0"
      id="Narr_-bgaKzAcpk-NxlELp2BDLw"
      unitRef="Unit_Standard_MXN_NKR-5MDyu0K7g_77FJiDAw">137333114</cwco:DiscontinuedOperationsNonRecoverableExpenses>
    <us-gaap:LossContingencyDamagesSoughtValue
      contextRef="Duration_2_9_2022_To_2_9_2022_srt_RangeAxis_srt_MinimumMember_EOswmxyBV0q740-H_b28LA"
      decimals="-6"
      id="Narr_g2zFowEnkEqrmHrTlFPVIg"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">51000000</us-gaap:LossContingencyDamagesSoughtValue>
    <us-gaap:LitigationSettlementExpense
      contextRef="Duration_2_9_2022_To_2_9_2022_pijHGs4rBEOq-frQM5E_xw"
      decimals="-6"
      id="Narr_7WeU_ZN910W4JL0ImWS2ZQ"
      unitRef="Unit_Standard_MXN_NKR-5MDyu0K7g_77FJiDAw">137000000</us-gaap:LitigationSettlementExpense>
    <us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_SXc5aIGFJU2gV7zovx78OA"
      decimals="0"
      id="Narr_Kg4CM7VFYU-yHFKzJMtksA"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-2371049</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_Zz0y3hTN3UeiDEFFxvFEiQ"
      decimals="0"
      id="Narr_7O4f1Z2NL0uZCJ8CvwXoAg"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-2574079</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax>
    <cwco:ProvisionForUncollectedValueAddedTaxes
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_SXc5aIGFJU2gV7zovx78OA"
      decimals="0"
      id="Narr_v8kc3Zdxw0aQ6c7BRQDwDA"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">377326</cwco:ProvisionForUncollectedValueAddedTaxes>
    <cwco:ProvisionForUncollectedValueAddedTaxes
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_Zz0y3hTN3UeiDEFFxvFEiQ"
      decimals="0"
      id="Narr_KbqrAhV-Q06zvwEmxsKkeQ"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">963540</cwco:ProvisionForUncollectedValueAddedTaxes>
    <us-gaap:ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_PgQsEjK-jUK_UH99e0M2ig">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="background:#ffffff;"&gt;Summarized financial information for the discontinued Mexico project development operation is as follows:&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Cash&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';"&gt;&#160;&#160;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 442,252&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';"&gt;&#160;&#160;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 750,048&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Accounts receivable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,675&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Prepaid expenses and other current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 75,826&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 82,783&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;"&gt;Value added taxes receivable &lt;/span&gt;(net of allowance of $1,711,234 and $1,279,757, respectively)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 727&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 340,910&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Land&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,126,898&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,126,898&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,390&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,288&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total assets of discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,660,768&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,319,927&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total liabilities of discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 389,884&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 190,141&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;background:#ffffff;margin:0pt;"&gt;&lt;span style="color:#00b050;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Provision for uncollected value added taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 377,326&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 963,540&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Loss from discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,371,049&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,574,079&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Depreciation expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,545&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents
      contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_iY1jPOijHk6biRp1Mim8bA"
      decimals="0"
      id="Tc_d0kCV7y5jE2Wz-IPx2yZxA_3_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">442252</us-gaap:DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents
      contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_EiEaJPjeIUm9qIXa_8FpnQ"
      decimals="0"
      id="Tc_2JGbg43XgEGXVjt6JmIMUQ_3_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">750048</us-gaap:DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_iY1jPOijHk6biRp1Mim8bA"
      decimals="0"
      id="Tc_jTptBf8XY0iX6JJjK04GZw_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">12675</us-gaap:DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent>
    <cwco:DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable
      contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_iY1jPOijHk6biRp1Mim8bA"
      decimals="0"
      id="Tc_6yHYae4Lo0e6KY7kcCt1rQ_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">75826</cwco:DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable>
    <cwco:DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable
      contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_EiEaJPjeIUm9qIXa_8FpnQ"
      decimals="0"
      id="Tc_5R_mp6FXrEKh_GOAm1857w_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">82783</cwco:DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable>
    <cwco:ValueAddedTaxReceivableAllowance
      contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_iY1jPOijHk6biRp1Mim8bA"
      decimals="0"
      id="Narr_ks6Ug4sUxUeUXOzkFNPnrQ"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1711234</cwco:ValueAddedTaxReceivableAllowance>
    <cwco:ValueAddedTaxReceivableAllowance
      contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_EiEaJPjeIUm9qIXa_8FpnQ"
      decimals="0"
      id="Narr_eUXBD9zqPkKbPFf6BahWGA"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1279757</cwco:ValueAddedTaxReceivableAllowance>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent
      contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_iY1jPOijHk6biRp1Mim8bA"
      decimals="0"
      id="Tc_D3sRq8RMF0CJWypkLJQUYQ_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">727</us-gaap:DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent
      contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_EiEaJPjeIUm9qIXa_8FpnQ"
      decimals="0"
      id="Tc_GfKpELvSIUqHHG43Xk0sOg_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">340910</us-gaap:DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent>
    <cwco:DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay
      contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_iY1jPOijHk6biRp1Mim8bA"
      decimals="0"
      id="Tc_5WB70Nr7XESkU3UfY0Gqpw_7_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">21126898</cwco:DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay>
    <cwco:DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay
      contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_EiEaJPjeIUm9qIXa_8FpnQ"
      decimals="0"
      id="Tc_78ZTjHtJeE2yEPXkC0Kwqg_7_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">21126898</cwco:DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets
      contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_iY1jPOijHk6biRp1Mim8bA"
      decimals="0"
      id="Tc_fFBX7KwVmUm_2anVQ7mVvw_8_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2390</us-gaap:DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets
      contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_EiEaJPjeIUm9qIXa_8FpnQ"
      decimals="0"
      id="Tc_6Fys0KjbeU2wpMvJe5ZBYg_8_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">19288</us-gaap:DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets>
    <us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperation
      contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_iY1jPOijHk6biRp1Mim8bA"
      decimals="0"
      id="Tc_2CgNQCvZR0S1cFT3Cq1TqQ_9_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">21660768</us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperation>
    <us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperation
      contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_EiEaJPjeIUm9qIXa_8FpnQ"
      decimals="0"
      id="Tc_y0vMDIketEG_xB9dNCbG-w_9_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">22319927</us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperation>
    <us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation
      contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_iY1jPOijHk6biRp1Mim8bA"
      decimals="0"
      id="Tc_sR2SltzKMU6EIVKG0dAeqw_11_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">389884</us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation>
    <us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation
      contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_EiEaJPjeIUm9qIXa_8FpnQ"
      decimals="0"
      id="Tc_dV9JIyImrU2Uof6Isk5aJw_11_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">190141</us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation>
    <cwco:ProvisionForUncollectedValueAddedTaxes
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_SXc5aIGFJU2gV7zovx78OA"
      decimals="0"
      id="Tc_BogW1Z3f00WtRHkXeB7LQA_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">377326</cwco:ProvisionForUncollectedValueAddedTaxes>
    <cwco:ProvisionForUncollectedValueAddedTaxes
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_Zz0y3hTN3UeiDEFFxvFEiQ"
      decimals="0"
      id="Tc_0B2XhDMp5UimQGgaolWK_Q_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">963540</cwco:ProvisionForUncollectedValueAddedTaxes>
    <us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_SXc5aIGFJU2gV7zovx78OA"
      decimals="0"
      id="Tc_871_PnXDyEO6M-xbr-j0wA_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-2371049</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_Zz0y3hTN3UeiDEFFxvFEiQ"
      decimals="0"
      id="Tc_iZhMMRp0OkuJkY09UQarYA_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-2574079</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_Zz0y3hTN3UeiDEFFxvFEiQ"
      decimals="0"
      id="Tc_2JT5FSNrN0-PlnRMEHUe0Q_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">4545</us-gaap:DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization>
    <us-gaap:IntangibleAssetsDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_gC9kMxA8qEG0wvod6Zfaxw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;9. Intangible assets&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company&#x2019;s purchase transactions for Aerex and PERC identified certain intangible assets. The remaining intangible assets and their respective useful lives are as follows: non-compete agreements (&lt;span style="-sec-ix-hidden:Hidden_91hD7DAcuEWByb9hPsVsfg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;3&lt;/span&gt;&lt;/span&gt; and &lt;span style="-sec-ix-hidden:Hidden_RdQbXo2Mg0Gum4zs_sJGPA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;5&#160;years&lt;/span&gt;&lt;/span&gt;), trade names (&lt;span style="-sec-ix-hidden:Hidden_NWCWAsh4-U-6RasXWCt7Kg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;15&#160;years&lt;/span&gt;&lt;/span&gt;), and facility management contracts (6 years).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The costs and accumulated amortization for these assets were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Cost&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Non-compete agreements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 530,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 530,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Trade names&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,700,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,700,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Facility management contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,200,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,200,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,430,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,430,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Non-compete agreements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (530,000)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (493,889)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Trade names&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (920,000)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (740,000)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Facility management contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,161,112)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (794,445)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,611,112)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,028,334)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Intangible assets, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,818,888&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,401,666&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Amortization of intangible assets for each of the next five&#160;years and thereafter is expected to be as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 546,667&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 546,667&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 485,554&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 180,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 180,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 880,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,818,888&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Amortization expense was $582,778 and $746,667 for the years ended December&#160;31,&#160;2022 and 2021, respectively.&lt;/p&gt;</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="Duration_10_1_2019_To_10_31_2019_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_qJv6rTnCrUOw3DapZWXfEQ"
      id="Narr_LD2askkDX0ygebR8zhRb0A">P6Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_Pu8ETQZh6U2sSt3L5tAI3A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Cost&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Non-compete agreements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 530,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 530,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Trade names&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,700,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,700,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Facility management contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,200,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,200,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,430,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,430,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Non-compete agreements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (530,000)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (493,889)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Trade names&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (920,000)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (740,000)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Facility management contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,161,112)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (794,445)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,611,112)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,028,334)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Intangible assets, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,818,888&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,401,666&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_dSyy5sHtkk-I4iK5xQeeqg"
      decimals="0"
      id="Tc_qwxh6EECJEm2TExIPYSWzA_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">530000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_7xr6HpDAjES_eff6mejQ9g"
      decimals="0"
      id="Tc_zXhF9sksEk-wud-Vxo-6Vw_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">530000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_TradeNameMember_2rcjDwPRJ0ejPLHq9Lw65Q"
      decimals="0"
      id="Tc_ahswC8TEWEu0_IwTZHPBew_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2700000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_TradeNameMember_qMZ8XiFfpE2bNTaPCP05Ag"
      decimals="0"
      id="Tc_8dL18A2YRkWoCYTZYwVsog_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2700000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_ManagementContractsMember_VJ1yIW5kFkKdvZZUmgwUxw"
      decimals="0"
      id="Tc_r4bfAPIHYkKaYTLhlEQbJg_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2200000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_ManagementContractsMember_y5_U8cT2Ekeb7YYl-1n1aA"
      decimals="0"
      id="Tc_BKbHq7AI6kOvJ1U6mQ05gg_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2200000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_b-c8w_pW206GRg3RA0Mevw_7_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5430000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_Vsxtuhmc3kWu3EXJ4QkeUg_7_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5430000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_dSyy5sHtkk-I4iK5xQeeqg"
      decimals="0"
      id="Tc_zw1CuCUcDEuY-z30IYWGmg_9_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">530000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_7xr6HpDAjES_eff6mejQ9g"
      decimals="0"
      id="Tc_AhUgNHDWzU6c2fsRBvlLyg_9_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">493889</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_TradeNameMember_2rcjDwPRJ0ejPLHq9Lw65Q"
      decimals="0"
      id="Tc_1ygaH3Kk4kqZddsC1YqSIw_10_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">920000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_TradeNameMember_qMZ8XiFfpE2bNTaPCP05Ag"
      decimals="0"
      id="Tc_s8Wu_P-NtE-VaeRTBFR-PA_10_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">740000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_ManagementContractsMember_VJ1yIW5kFkKdvZZUmgwUxw"
      decimals="0"
      id="Tc_tIVurOYdQEOrvvGjlQ_Myw_11_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1161112</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cwco_ManagementContractsMember_y5_U8cT2Ekeb7YYl-1n1aA"
      decimals="0"
      id="Tc_qVsCOUaXqki7ImbdMejjvw_11_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">794445</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_W--sVT8BAkyp_92lOaX3QQ_12_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2611112</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_Cd-cyC4G00CTmQWz7zFz_w_12_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2028334</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_ZNFAglvlRkiGHeCtUyohrw_13_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2818888</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_52HgCeAKVUaNqOYRijQAJw_13_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3401666</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_fLjJHFXpGka5FAQnRc6LMg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Amortization of intangible assets for each of the next five&#160;years and thereafter is expected to be as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 546,667&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 546,667&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 485,554&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 180,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 180,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 880,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,818,888&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_kuU_-AvEqEmaVn-077KtKA_1_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">546667</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_q8TC58WljEq1tNJ7-ktDwA_2_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">546667</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_dBCq8aaPRkaHe2J5FhTuCw_3_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">485554</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_36oeB4IKa0iLJMlG5IcuXw_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">180000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_4Otz2SuJtU-HI_fhF8p_2g_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">180000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_yUECffwz7USTTJHzdWguQQ_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">880000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_3u7MknJSW0Sd_bJZ_bNuEQ_7_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2818888</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Narr_Vu5iODcYRE6eTWaTI6H4dg"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">582778</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Narr_MdU3A7Yj6kOfxGqUKE7Onw"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">746667</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_rtB8eyPzNEWB7FIpp12QMA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;10. Leases&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company&#x2019;s leases consist primarily of leases for office and warehouse space. For leases with terms greater than twelve months, the related asset and obligation are recorded at the present value of the lease payments over the term. Many of these leases contain rental escalation clauses which are factored into the determination of the lease payments when appropriate. When available, the lease payments are discounted using the rate implicit in the lease; however, the Company&#x2019;s current leases do not provide a readily determinable implicit rate. Therefore, the Company&#x2019;s incremental borrowing rate is estimated to discount the lease payments based on information available at the lease commencement.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="background:#ffffff;"&gt;These leases contain both lease and non-lease components, which the Company has elected to treat as a single lease component. The Company elected not to recognize leases that have an original lease term, including reasonably certain renewal or purchase obligations, of twelve months or less in its consolidated balance sheets for all classes of underlying assets. Lease costs for such short-term leases are expensed on a straight-line basis over the lease term.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The land used by the Company to operate its seawater desalination plants in the Cayman Islands and The Bahamas is owned by the Company or leased to the Company for immaterial annual amounts and is not included in the lease amounts presented in the consolidated balance sheets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="background:#ffffff;"&gt;All lease assets denominated in a foreign currency are measured using the exchange rate at the commencement of the lease. All lease liabilities denominated in a foreign currency are remeasured using the exchange rate as of the consolidated balance sheet date.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Lease assets and liabilities&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The following table presents the lease-related assets and liabilities and their respective classification on the consolidated balance sheets:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;ASSETS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Current&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Prepaid expenses and other current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 35,624&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Current assets of discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,979&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,654&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Noncurrent&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Operating lease right-of-use assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,058,384&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,681,137&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Long-term assets of discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 16,898&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total lease right-of-use assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,101,987&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,700,689&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;LIABILITIES&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Current&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Current maturities of operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 546,851&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 592,336&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Current liabilities of discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,361&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11,195&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Noncurrent&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Noncurrent operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,590,542&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,137,394&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Noncurrent liabilities of discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,819&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,144,754&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,748,744&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Weighted average remaining lease term:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;6.6 years&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;7.0 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Operating leases - discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;0.8 years&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;1.6 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Weighted average discount rate:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;5.11%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;5.03%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Operating leases - discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;4.96%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;4.77%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The components of lease cost were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Operating lease costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 692,404&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 656,130&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Short-term lease costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 100,975&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 79,606&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Lease costs - discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 40,021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 31,281&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total lease costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 833,400&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 767,017&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Supplemental cash flow information related to leases is as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Cash paid for amounts included in measurement of liabilities:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Operating cash outflows for operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 742,696&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 710,024&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Operating cash outflows for operating leases - discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,590&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 38,246&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Future lease payments relating to the Company's operating lease liabilities from continuing operations as of December 31, 2022 are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years ending December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 643,233&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 390,630&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 268,056&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 227,542&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 229,416&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 778,460&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total future lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,537,337&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Less: imputed interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (399,944)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total lease obligations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,137,393&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Less: current obligations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (546,851)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Noncurrent lease obligations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,590,542&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <cwco:LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_EF3T9J0xQkWQnHuInX3Udw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The following table presents the lease-related assets and liabilities and their respective classification on the consolidated balance sheets:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;ASSETS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Current&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Prepaid expenses and other current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 35,624&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Current assets of discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,979&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,654&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Noncurrent&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Operating lease right-of-use assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,058,384&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,681,137&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Long-term assets of discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 16,898&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total lease right-of-use assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,101,987&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,700,689&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;LIABILITIES&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Current&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Current maturities of operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 546,851&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 592,336&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Current liabilities of discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,361&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11,195&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Noncurrent&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Noncurrent operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,590,542&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,137,394&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Noncurrent liabilities of discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,819&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,144,754&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,748,744&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Weighted average remaining lease term:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;6.6 years&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;7.0 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Operating leases - discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;0.8 years&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;1.6 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Weighted average discount rate:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;5.11%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;5.03%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Operating leases - discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;4.96%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;4.77%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</cwco:LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock>
    <cwco:OperatingLeaseAssetsCurrent
      contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_JXh8waiEEEKrYIEZO0oMNA"
      decimals="0"
      id="Tc_KSgr4mINx0iUmrhdV1p3bw_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">35624</cwco:OperatingLeaseAssetsCurrent>
    <cwco:DisposalGroupIncludingDiscontinuedOperationLeaseCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_NisAlAO38Ea91cNp06ZIfw_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">7979</cwco:DisposalGroupIncludingDiscontinuedOperationLeaseCurrent>
    <cwco:DisposalGroupIncludingDiscontinuedOperationLeaseCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_v2ZHMf7gAEOAwhBaqrtoXA_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2654</cwco:DisposalGroupIncludingDiscontinuedOperationLeaseCurrent>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_6M6qMs0Wtku0ei5dWt8J0w_8_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2058384</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_pwV2G2acjUSzL2OHm2if2A_8_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2681137</us-gaap:OperatingLeaseRightOfUseAsset>
    <cwco:DisposalGroupIncludingDiscontinuedOperationLeaseNoncurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_obCEg3EQNEGEK44xrxD_Bg_9_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">16898</cwco:DisposalGroupIncludingDiscontinuedOperationLeaseNoncurrent>
    <cwco:OperatingLeaseRightOfUseAssetNet
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_oUlmAacLV0y__lZdSIWn8w_10_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2101987</cwco:OperatingLeaseRightOfUseAssetNet>
    <cwco:OperatingLeaseRightOfUseAssetNet
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_LROT9viBwkiB4KVqHArvYQ_10_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2700689</cwco:OperatingLeaseRightOfUseAssetNet>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_KmVljmvZXEqPm27eq-0mGw_14_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">546851</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_WaCw54jFHE6ibfOjyW6vag_14_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">592336</us-gaap:OperatingLeaseLiabilityCurrent>
    <cwco:DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_DSNG264LWkWqurcDSuPnxQ_15_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">7361</cwco:DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities>
    <cwco:DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_Rdt9uqK1v0yGiCBdFqiQOw_15_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">11195</cwco:DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_q0nMKuQuQE-hI1YhQo6rTQ_17_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1590542</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_N3Ms_iVU4ki-Rhts5bTJ7g_17_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2137394</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_9zfBEMPJBEifhll5ki8BfA_18_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">7819</us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent>
    <cwco:OperatingLeaseLiabilityIncludingDiscontinuedOperations
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_Q1zQgJQUTk2aTk3Pb5Uaaw_19_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2144754</cwco:OperatingLeaseLiabilityIncludingDiscontinuedOperations>
    <cwco:OperatingLeaseLiabilityIncludingDiscontinuedOperations
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_IS8XPJJshkemV4yuxHrd0Q_19_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2748744</cwco:OperatingLeaseLiabilityIncludingDiscontinuedOperations>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      id="Narr_I654P9YfeECYhUIUbhP_Mw">P6Y7M6D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      id="Narr_cOrNoH-HE0ayTFij22L3_A">P7Y</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_12_31_2022_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_us-gaap_SegmentDiscontinuedOperationsMember_JCZRleBWJkGWVn_E0g9T5w"
      id="Narr_ApIz8nA1okWl8SWuXFrGxA">P0Y9M18D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_12_31_2021_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_us-gaap_SegmentDiscontinuedOperationsMember_WgnnAf8oCUa5AzpqHy0lwA"
      id="Narr_CfapypH6O0uGGM1yUWJRKA">P1Y7M6D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="6"
      id="Tc_mkYUcYkNnk6qMF9T6IaYKg_26_3"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.0511</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="6"
      id="Tc_lCP4Sxm81k2vCcv3a_rj3w_26_6"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.0503</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_12_31_2022_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_us-gaap_SegmentDiscontinuedOperationsMember_JCZRleBWJkGWVn_E0g9T5w"
      decimals="6"
      id="Tc_7JAUVo7HN0GoCAAR4gJqRQ_27_3"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.0496</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_12_31_2021_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_us-gaap_SegmentDiscontinuedOperationsMember_WgnnAf8oCUa5AzpqHy0lwA"
      decimals="6"
      id="Tc__BmDadZIaEq4CryyJq_xkQ_27_6"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.0477</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_UvvTWG3ZUkG16H1h2a6vQQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The components of lease cost were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Operating lease costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 692,404&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 656,130&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Short-term lease costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 100,975&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 79,606&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Lease costs - discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 40,021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 31,281&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total lease costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 833,400&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 767,017&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_GRdIwtId7EahRfq4PU9kug_3_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">692404</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_Szr_J8bhiU2l6MxmeN2V0w_3_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">656130</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_mp_hF-SuU0Gne2kfTCgY0Q_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">100975</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_ciPl7bdJoUGXTvaPBb3j7A_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">79606</us-gaap:ShortTermLeaseCost>
    <cwco:OperatingLeaseCostsDiscontinuedOperations
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_RjSon1Ymok27c9xYhnVGiA_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">40021</cwco:OperatingLeaseCostsDiscontinuedOperations>
    <cwco:OperatingLeaseCostsDiscontinuedOperations
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_bC0WWhjTwEOlmWqDXf40ZA_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">31281</cwco:OperatingLeaseCostsDiscontinuedOperations>
    <us-gaap:LeaseCost
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_w3PzCoK2HEe05V6uEJiTMQ_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">833400</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_MTl1xCqr2kORazLnw2E03Q_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">767017</us-gaap:LeaseCost>
    <us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_ehed98OYTEqzzmu-wCv07A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Supplemental cash flow information related to leases is as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Cash paid for amounts included in measurement of liabilities:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Operating cash outflows for operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 742,696&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 710,024&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Operating cash outflows for operating leases - discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,590&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 38,246&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_Kd8bw9RlAkCMymNmg-hKVw_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">742696</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_ewTlFvh4dEKW1hQ-vtRI4A_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">710024</us-gaap:OperatingLeasePayments>
    <cwco:OperatingLeaseDiscontinuedOperationsPayments
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_arCgkaQNMkSf1WcJ9hHSjQ_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">9590</cwco:OperatingLeaseDiscontinuedOperationsPayments>
    <cwco:OperatingLeaseDiscontinuedOperationsPayments
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_vk_aFd7lSkSkAs4t_pKCjg_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">38246</cwco:OperatingLeaseDiscontinuedOperationsPayments>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_wHiqefURyk2FixVE3q8kJg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years ending December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 643,233&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 390,630&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 268,056&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 227,542&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 229,416&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 778,460&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total future lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,537,337&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Less: imputed interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (399,944)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total lease obligations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,137,393&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Less: current obligations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (546,851)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Noncurrent lease obligations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,590,542&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_TH5LimAlkUmaokBY3usejQ_2_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">643233</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_p6sloRYkiU6cvu--_IbzVg_3_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">390630</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_cy9wsTWd4ECFnTN_INtX9g_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">268056</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_NsP6lRhkMkSbtd3SsCNj_g_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">227542</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_4Ychv1WQkEKotGi5wSqtpg_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">229416</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_cSaEAq3yyEepzakpDQK9eA_7_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">778460</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_y6V2hK_86ECXrC-wyj_iMw_8_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2537337</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_bky3NVmD0EqS4voX9RV-cg_9_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">399944</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <cwco:OperatingLeaseLiabilitiesContinuingOperations
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_QTbgvSQYeE-Y2oi040FGfg_10_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2137393</cwco:OperatingLeaseLiabilitiesContinuingOperations>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_z0KNQ69p5kSTcVV7jYK7hw_11_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">546851</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_s9uM6YzjMEafXG00grtTaw_12_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1590542</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_tFepY_s1DUKuslq0y6d51A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;11. Income taxes&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The components of income before income taxes for the years ended December 31, 2022 and 2021 are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:72.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.9%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign (not subject to income taxes)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,958,583&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,780,692&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Mexico&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (987,279)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,767,915)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.9%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,394,642&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,952,265)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,365,946&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,060,512&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Less discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.9%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,371,049&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,574,079&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,736,995&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,634,591&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The Company&#x2019;s provision (benefit) for income taxes for the&#160;years ended December&#160;31, 2022 and 2021, which related to U.S. operations, consists of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Current:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Federal&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 430,116&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 202,444&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;State&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (29,157)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (895)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 400,959&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 201,549&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Federal&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (184,469)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (524,733)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;State&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 180,249&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (124,798)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (4,220)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (649,531)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total provision (benefit)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 396,739&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (447,982)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;A reconciliation of the U.S. statutory federal tax rate to the effective rate for the&#160;years ended December&#160;31, 2022&#160;and 2021 is as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;U.S. statutory federal rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21.00&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21.00&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;State taxes, net of federal effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8.88&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.72&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Nontaxable foreign income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (25.57)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (43.36)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Research &amp;amp; development tax credit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1.92)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (7.39)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Permanent items&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (0.70)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (6.26)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Goodwill impairment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 20.31&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Valuation allowance for deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.38&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.65&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4.07&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (12.33)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The tax effects of significant items comprising the Company&#x2019;s net long-term deferred tax liability as of December&#160;31, 2022 and 2021 were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Continuing Operations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Deferred tax assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Research &amp;amp; development tax credits&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,069&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 398,413&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Loss carryforward&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 443,076&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 300,545&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Accrued compensation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 82,503&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 112,446&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Operating lease liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 412,840&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 469,398&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Valuation allowances&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (29,036)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (139,207)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 967,452&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,141,595&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Deferred tax liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Property and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 293,195&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 254,301&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Intangible assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 821,723&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 982,422&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Operating lease right-of-use assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 412,840&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 469,398&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,527,758&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,706,121&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net deferred tax liability&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 560,306&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 564,526&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Discontinued Operations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Deferred tax assets: &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Operating loss carryforwards - Mexico&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,378,177&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,230,398&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Land basis difference - Mexico&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,163,681&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,602,470&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Start-up costs - Mexico&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,274,858&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,693,395&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Valuation allowances&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,816,716)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,526,263)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="color:#00b050;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;As of December 31, 2022, continuing operations has a federal net loss carryforward of $1.7 million and a state net loss carryforward of $1.6 million, both of which have an indefinite expiration date. Discontinued operations has a net loss carryforward of $17.9 million that will begin to expire, if unused, in various amounts between 2023 and 2032. The unused research &amp;amp; development tax credit carryforwards from continuing operations of $58,069 as of December 31, 2022 have an indefinite expiration date.&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb__08IiT1TFEWtyudeiEhmUQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The components of income before income taxes for the years ended December 31, 2022 and 2021 are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:72.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.9%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign (not subject to income taxes)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,958,583&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,780,692&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Mexico&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (987,279)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,767,915)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.9%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,394,642&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,952,265)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,365,946&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,060,512&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Less discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.9%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,371,049&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,574,079&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,736,995&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,634,591&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock>
    <cwco:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_Z-LNW_y_lUeP3EG5Mn4Xcw_3_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">6958583</cwco:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes>
    <cwco:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_sdet9aEu9kCR6iHCXBJqSg_3_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5780692</cwco:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_kA5LwdpiTU-i8AlUPnSIXA_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-987279</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_bm7k_brDXEOCafW6KsaPfw_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-1767915</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_cBxeBSlCD0OxzQLqzIoAaQ_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1394642</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_SHDpDoox4k2LfKL1ar5UFQ_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-2952265</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_zc72_spKAU-DhMuKvoV-Dw_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">7365946</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_wkQ94VyhJUCeIOlp_A8WGw_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1060512</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <cwco:IncomeLossFromDiscontinuedOperations
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_YPLpxUzGOEO7y4R_UdzEJQ_7_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2371049</cwco:IncomeLossFromDiscontinuedOperations>
    <cwco:IncomeLossFromDiscontinuedOperations
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_5MLI9NMJQEuCkQiCYU4uiA_7_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2574079</cwco:IncomeLossFromDiscontinuedOperations>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_xYbFIGYFWkaJGdd65Ngyug_8_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">9736995</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_M5jlg9pyEE2Y1AYCjwc7xw_8_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3634591</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_Y6VxsMPkK0mXpw_j_Ho57A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The Company&#x2019;s provision (benefit) for income taxes for the&#160;years ended December&#160;31, 2022 and 2021, which related to U.S. operations, consists of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Current:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Federal&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 430,116&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 202,444&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;State&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (29,157)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (895)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 400,959&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 201,549&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Federal&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (184,469)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (524,733)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;State&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 180,249&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (124,798)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (4,220)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (649,531)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total provision (benefit)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 396,739&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (447,982)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_G_oz2B0H7k6MPVYusgaflQ_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">430116</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_ys5zpffE8E6XH-t1P3z2Ew_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">202444</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_L7Gz_vkMwUemudleBrCMiQ_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-29157</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_1ebEt6OeMUShlVQlngYPeQ_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-895</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_0puqz2bcDU21AQoJ9QrByg_7_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">400959</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_J8gYY-P0akqyfymZtD5VEw_7_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">201549</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_YAUrHtrpekmESGeOEPEVXg_9_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-184469</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_Lues0l88NEqXWMQMSUYS0Q_9_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-524733</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_QbZxGbpnBU2TFwXgxjEppg_10_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">180249</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_gYbvIWxm7UCQp_OUqbavPw_10_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-124798</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_UCijIaq9NU2Y4UlnT7bu1Q_12_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-4220</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_XDr9rIEfQ0yfJwN5bKcsdA_12_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-649531</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_kx3Uw59EHE2eL1dxuu0PJw_13_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">396739</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_zXooYlFX00WbJtdWR_XyuQ_13_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-447982</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_xYCZVshKKUqB3l6jIYgpyw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;A reconciliation of the U.S. statutory federal tax rate to the effective rate for the&#160;years ended December&#160;31, 2022&#160;and 2021 is as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;U.S. statutory federal rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21.00&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21.00&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;State taxes, net of federal effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8.88&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.72&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Nontaxable foreign income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (25.57)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (43.36)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Research &amp;amp; development tax credit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1.92)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (7.39)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Permanent items&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (0.70)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (6.26)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Goodwill impairment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 20.31&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Valuation allowance for deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.38&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.65&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4.07&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (12.33)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="4"
      id="Tc__9-CoAPlHkKalcN-V79bfg_3_2"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.2100</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="4"
      id="Tc_1j-0xVuXBkunvSLKulneHA_3_4"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.2100</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="4"
      id="Tc_mppry8BjOE2qaOeaDQzT3w_4_2"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.0888</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="4"
      id="Tc_rfV0qU0dTky7mHFMvUli4w_4_4"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.0272</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="4"
      id="Tc_OasiD6zPK0Oy36PNoM3OvA_5_2"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.2557</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="4"
      id="Tc_sojeDmjUjEGiCSpymxJHdA_5_4"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.4336</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="4"
      id="Tc_SKIFpuDB0EqR6HaDCMRidQ_6_2"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.0192</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="4"
      id="Tc_z_lvSFJZVkq6HQQHcxYkAw_6_4"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.0739</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <cwco:EffectiveIncomeTaxRateReconciliationPermanentItems
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="4"
      id="Tc_zmjpqpDIEUO4hrGL7qAi4A_7_2"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">-0.0070</cwco:EffectiveIncomeTaxRateReconciliationPermanentItems>
    <cwco:EffectiveIncomeTaxRateReconciliationPermanentItems
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="4"
      id="Tc_qJX76qdfqky_gQvJI-5IkA_7_4"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">-0.0626</cwco:EffectiveIncomeTaxRateReconciliationPermanentItems>
    <cwco:EffectiveIncomeTaxRateReconciliationGoodwillImpairmentPercent
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="4"
      id="Tc_XY813jc0QEyQsvjJTNjenw_8_4"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.2031</cwco:EffectiveIncomeTaxRateReconciliationGoodwillImpairmentPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="4"
      id="Tc_0e0S0JNyM0e6f_zMU02IOA_9_2"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.0238</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="4"
      id="Tc_i_zBNFdSUE-UUiPdTEZMMg_9_4"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.0065</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="4"
      id="Tc_73lZ3hWzu0S0IHD4XHI7dw_10_2"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.0407</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="4"
      id="Tc_y6PsuKXxikm6ZC_zCZUopw_10_4"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">-0.1233</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_l2ukJ3-yyUWKUqCSiVcR2A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The tax effects of significant items comprising the Company&#x2019;s net long-term deferred tax liability as of December&#160;31, 2022 and 2021 were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Continuing Operations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Deferred tax assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Research &amp;amp; development tax credits&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,069&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 398,413&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Loss carryforward&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 443,076&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 300,545&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Accrued compensation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 82,503&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 112,446&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Operating lease liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 412,840&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 469,398&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Valuation allowances&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (29,036)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (139,207)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 967,452&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,141,595&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Deferred tax liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Property and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 293,195&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 254,301&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Intangible assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 821,723&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 982,422&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Operating lease right-of-use assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 412,840&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 469,398&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,527,758&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,706,121&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net deferred tax liability&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 560,306&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 564,526&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Discontinued Operations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Deferred tax assets: &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Operating loss carryforwards - Mexico&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,378,177&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,230,398&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Land basis difference - Mexico&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,163,681&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,602,470&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Start-up costs - Mexico&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,274,858&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,693,395&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Valuation allowances&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,816,716)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,526,263)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="color:#00b050;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_p5Wxcmm8W0SrQikbLVexTw_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">58069</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_Pgcq1IQKSEOWQaB_FQtA7A_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">398413</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:DeferredTaxAssetsCapitalLossCarryforwards
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_9CD-p6UmSk-gd0l53KoBcA_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">443076</us-gaap:DeferredTaxAssetsCapitalLossCarryforwards>
    <us-gaap:DeferredTaxAssetsCapitalLossCarryforwards
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_2xZE1BzMVUWLQzNXe-E08g_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">300545</us-gaap:DeferredTaxAssetsCapitalLossCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_H2mrp6QnNU-Ff4I1jvKF7A_7_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">82503</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_OpiGQd7hrkSFXG5HPIQZhg_7_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">112446</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <cwco:DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_jTtQtck8-0-2afkUwzUyWQ_8_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">412840</cwco:DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities>
    <cwco:DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_ngA9rSovckGT_NI7fvyvVQ_8_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">469398</cwco:DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_DxbFKmAJgEKaMN3bq1DsjA_9_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">29036</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_p5-5fM3jzk6k6KQQvtatsQ_9_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">139207</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_fyX4QQX-VkSi5D2_dKFscQ_10_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">967452</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_dr3tiY1Q3UKrCWD1q3OBvw_10_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1141595</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_44xfw-KQ_Eqa43u9-jG2FA_12_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">293195</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_VdLveH36N0q7vtMDf2tvKA_12_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">254301</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_2k7fMa-MjEKpPp8Ijn4khg_13_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">821723</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_wiv4Eskfwk2CPegOTHLcpA_13_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">982422</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <cwco:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_oR9rxI1b5UydJLxdnjR4Vw_14_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">412840</cwco:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets>
    <cwco:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_CnEi_8gV2kKzHHTTrZ7C9A_14_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">469398</cwco:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_DDzlPCFm50ufGtiXUdjCVg_15_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1527758</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_sviNEIybIUiYfnEPhYqb7A_15_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1706121</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_PSdGLH3gkUeCd1VTC6NJcw_17_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">560306</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_Vj5P7hFYVUierN8Xw-Sq4Q_17_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">564526</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign
      contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_cb8Hwa4bnkurzN00jZkoNw"
      decimals="0"
      id="Tc_oIi5PatkhUy8G_yws12yCQ_21_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5378177</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign
      contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_BRXp6TrknEizerUcsq5ffw"
      decimals="0"
      id="Tc_vzzpwdd9AU-9fxhzjSyDKw_21_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">4230398</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign>
    <cwco:DeferredTaxAssetsLandBasisDifference
      contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_cb8Hwa4bnkurzN00jZkoNw"
      decimals="0"
      id="Tc_irA1Q-pB_0uo9jX34TeD8w_22_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2163681</cwco:DeferredTaxAssetsLandBasisDifference>
    <cwco:DeferredTaxAssetsLandBasisDifference
      contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_BRXp6TrknEizerUcsq5ffw"
      decimals="0"
      id="Tc_4jYap-yQL0WDYUg_am_nuQ_22_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1602470</cwco:DeferredTaxAssetsLandBasisDifference>
    <cwco:DeferredTaxAssetsStartupCosts
      contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_cb8Hwa4bnkurzN00jZkoNw"
      decimals="0"
      id="Tc_U0SewwAKqE-Vfk_yH0RHmg_23_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">4274858</cwco:DeferredTaxAssetsStartupCosts>
    <cwco:DeferredTaxAssetsStartupCosts
      contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_BRXp6TrknEizerUcsq5ffw"
      decimals="0"
      id="Tc_lNlBWMWFfECSFxmVGtNYXQ_23_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">4693395</cwco:DeferredTaxAssetsStartupCosts>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_cb8Hwa4bnkurzN00jZkoNw"
      decimals="0"
      id="Tc_GarayAmaPkqs7UelQQunpw_24_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">11816716</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_BRXp6TrknEizerUcsq5ffw"
      decimals="0"
      id="Tc_6hB3ZYQIEUeoWNpOqPrBJw_24_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">10526263</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_cb8Hwa4bnkurzN00jZkoNw"
      decimals="0"
      id="Tc_gZIMq3baeU2NNGzMVUbKsw_25_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_12_31_2021_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_BRXp6TrknEizerUcsq5ffw"
      decimals="0"
      id="Tc_5VH7yp4vvEOvJRIj750r9Q_25_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:OperatingLossCarryforwards
      contextRef="As_Of_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_sxJ6C8OwfkiN2lItOCO1iw"
      decimals="-5"
      id="Narr_rCoFQCYhT0-PXJZ5KFN3cQ"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1700000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="As_Of_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_us-gaap_StateAndLocalJurisdictionMember_TrJgMKQXDUetfuk7-YM0KA"
      decimals="-5"
      id="Narr_nZ58IjRvrk-tIOfXXGgYPA"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1600000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_cb8Hwa4bnkurzN00jZkoNw"
      decimals="-5"
      id="Narr_ApuBlXSpkE2tILDobZ1NAg"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">17900000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Narr_pGNKBshKO0uc4s-JeOAkXg"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">58069</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_OKiQkHBbBEe1-y9Qpqd_RQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;12. Earnings per share&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Earnings per share (&#x201c;EPS&#x201d;) is computed on a basic and diluted basis. Basic EPS is computed by dividing net income (loss) (less preferred stock dividends) available to common stockholders by the weighted average number of common shares outstanding during the period. The computation of diluted EPS assumes the issuance of common shares for all potential &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;common shares outstanding during the reporting period and, if dilutive, the effect of stock options as computed under the treasury stock method.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The following summarizes information related to the computation of basic and diluted EPS:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,227,343&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,449,658&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Less: preferred stock dividends&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (11,532)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10,796)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net income from continuing operations available to common shares in the determination of basic earnings per common share&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,215,811&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,438,862&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total loss from discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,371,049)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,574,079)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net income available to common shares in the determination of basic earnings per common share&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,844,762&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 864,783&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted average number of common shares in the determination of basic earnings per common share attributable to Consolidated Water Co. Ltd. common stockholders&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15,290,509&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15,213,816&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Plus:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted average number of preferred shares outstanding during the period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 31,885&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 30,348&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Potential dilutive effect of unexercised options and unvested stock grants&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 79,259&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 65,981&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted average number of shares used for determining diluted earnings per common share attributable to Consolidated Water Co. Ltd. common stockholders&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15,401,653&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15,310,145&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_B8DFp-L8uU-LPniffb-QAg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,227,343&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,449,658&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Less: preferred stock dividends&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (11,532)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10,796)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net income from continuing operations available to common shares in the determination of basic earnings per common share&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,215,811&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,438,862&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total loss from discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,371,049)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,574,079)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net income available to common shares in the determination of basic earnings per common share&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,844,762&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 864,783&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted average number of common shares in the determination of basic earnings per common share attributable to Consolidated Water Co. Ltd. common stockholders&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15,290,509&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15,213,816&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Plus:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted average number of preferred shares outstanding during the period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 31,885&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 30,348&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Potential dilutive effect of unexercised options and unvested stock grants&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 79,259&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 65,981&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted average number of shares used for determining diluted earnings per common share attributable to Consolidated Water Co. Ltd. common stockholders&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15,401,653&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15,310,145&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_zRIao1LZI0OOUQtv7NszrA_3_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">8227343</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_ezuwMTffckeM8l24BUL2yw_3_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3449658</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:DividendsPreferredStock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_79WiL2g84UCXVr1tlrXmPA_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">11532</us-gaap:DividendsPreferredStock>
    <us-gaap:DividendsPreferredStock
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_Iz-7WnqUXke_JC-duufh6w_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">10796</us-gaap:DividendsPreferredStock>
    <us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_a7MoChw9LE6rAkMrN2IIWg_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">8215811</us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic>
    <us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_Lo97JJCkNEyoXlnvTsKK_Q_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3438862</us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_grrfJQk9BUKLja6ftODkEw_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-2371049</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_jS2kVZiGv0mu7Adv0VtNOA_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-2574079</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_KFAT6vLx2EydiJvjwRblUw_7_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5844762</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_kR2F4WmT1UeS0elsF3ppTg_7_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">864783</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_0qXQWajDxEOFF6cWMWQdcg_9_3"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">15290509</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_PiMAyFLdiEK_Jy0_QgmmqQ_9_6"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">15213816</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfPreferredStock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_PZuBUuRpV06rz0O_MgKxvw_11_3"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">31885</us-gaap:IncrementalCommonSharesAttributableToConversionOfPreferredStock>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfPreferredStock
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_JHlkedRvL0aJTU-K1_ozrA_11_6"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">30348</us-gaap:IncrementalCommonSharesAttributableToConversionOfPreferredStock>
    <us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_99nBx8h-_EW4LuEcURJR4A_12_3"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">79259</us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants>
    <us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_kOiwKW3UeEWd3wAfJwFMwA_12_6"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">65981</us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_RO-hvoiTa0uVTh4jy6evZw_13_3"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">15401653</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_KnShYxXLoEKt7q4WF915_Q_13_6"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">15310145</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <cwco:DividendsTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_Pw5OXd67TEKf_wy_vkliyQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;13. Dividends&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Interim dividends declared on Class&#160;A common stock and redeemable preferred stock for each quarter of the respective&#160;years ended December&#160;31, 2022 and 2021 were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;First Quarter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.085&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.085&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Second Quarter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.085&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.085&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Third Quarter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.085&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.085&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Fourth Quarter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.085&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.085&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.34&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.34&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</cwco:DividendsTextBlock>
    <us-gaap:DividendsDeclaredTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_ITZB-Ng3cESi-skK8ul-aw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;First Quarter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.085&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.085&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Second Quarter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.085&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.085&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Third Quarter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.085&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.085&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Fourth Quarter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.085&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.085&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.34&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.34&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:DividendsDeclaredTableTextBlock>
    <cwco:DividendsPerShareDeclared
      contextRef="Duration_1_1_2022_To_3_31_2022_VZ-Hp1VMckyT6pla0npLNw"
      decimals="3"
      id="Tc_iWd2C5r1iUCkTmnUFn_7rg_2_3"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.085</cwco:DividendsPerShareDeclared>
    <cwco:DividendsPerShareDeclared
      contextRef="Duration_1_1_2021_To_3_31_2021_uuEE-5V0ZkWDT-R-7k-0qw"
      decimals="3"
      id="Tc_fgwcZq4pnk-lCQJG5cuN-g_2_6"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.085</cwco:DividendsPerShareDeclared>
    <cwco:DividendsPerShareDeclared
      contextRef="Duration_4_1_2022_To_6_30_2022_KWISKwBNxk6Fodei6dW_oA"
      decimals="3"
      id="Tc_bU1ETudkNE-80-Zu9dgoKg_3_3"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.085</cwco:DividendsPerShareDeclared>
    <cwco:DividendsPerShareDeclared
      contextRef="Duration_4_1_2021_To_6_30_2021_bqhiZq-Z1Emw_qHVhtG5MA"
      decimals="3"
      id="Tc_Bb5J1eD6p0-rBOJRsFFn7A_3_6"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.085</cwco:DividendsPerShareDeclared>
    <cwco:DividendsPerShareDeclared
      contextRef="Duration_7_1_2022_To_9_30_2022_NsZM1mrQEUeBajSIepdPgQ"
      decimals="3"
      id="Tc_GfxmE6Dr10SfcYUB2BBljw_4_3"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.085</cwco:DividendsPerShareDeclared>
    <cwco:DividendsPerShareDeclared
      contextRef="Duration_7_1_2021_To_9_30_2021_1tLgiMlUY02WY9O8BWiB_A"
      decimals="3"
      id="Tc_K0f8IugcvEi0oQdO-IE3LA_4_6"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.085</cwco:DividendsPerShareDeclared>
    <cwco:DividendsPerShareDeclared
      contextRef="Duration_10_1_2022_To_12_31_2022_-oElvctT2E2iCas2iUBgNg"
      decimals="3"
      id="Tc_HnsrHewAtUK37mc-49ER3Q_5_3"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.085</cwco:DividendsPerShareDeclared>
    <cwco:DividendsPerShareDeclared
      contextRef="Duration_10_1_2021_To_12_31_2021_wQS9cikntUeiK4UOCeJOAQ"
      decimals="3"
      id="Tc_ga6qmvFdUUKngnTIJ0h94w_5_6"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.085</cwco:DividendsPerShareDeclared>
    <cwco:DividendsPerShareDeclared
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="3"
      id="Tc_EbNjy1iV2kuewqpyKQAsVw_6_3"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.34</cwco:DividendsPerShareDeclared>
    <cwco:DividendsPerShareDeclared
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="3"
      id="Tc_6eOHvH89pEO11sV4y3gILw_6_6"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0.34</cwco:DividendsPerShareDeclared>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_YgQlV_9PiU6cxOc5_wFMWQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;14. Segment information&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company has four reportable segments: retail, bulk, services and manufacturing. The retail segment operates the water utility for the Seven Mile Beach and West Bay areas of Grand Cayman Island pursuant to an exclusive license granted by the Cayman Islands government. The bulk segment supplies potable water to government utilities in Grand Cayman and The Bahamas under long-term contracts. The services segment designs, constructs and sells water infrastructure and provides management and operating services to third parties. The manufacturing segment manufactures and services a wide range of custom and specialized water-related products applicable to commercial, municipal and industrial water production, supply and treatment. Consistent with prior periods, the Company records all non-direct general and administrative expenses in its retail business segment and does not allocate any of these non-direct expenses to its other three business segments.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The accounting policies of the segments are consistent with those described in Note&#160;2. The Company evaluates each segment&#x2019;s performance based upon its income (or loss) from operations. All intercompany transactions are eliminated for segment presentation purposes.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The Company&#x2019;s segments are strategic business units that are managed separately because each segment sells different products and/or services, serves customers with distinctly different needs and generates different gross profit margins.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:63.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Retail&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Bulk&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Manufacturing&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 25,954,013&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 32,991,066&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,835,428&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,324,465&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 94,104,972&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Cost of revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 12,548,763&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 23,032,212&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 22,973,634&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,195,240&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 63,749,849&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Gross profit &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13,405,250&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,958,854&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,861,794&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,129,225&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 30,355,123&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;General and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 14,552,866&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,570,732&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,461,294&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,485,342&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,070,234&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Gain (loss) on asset dispositions and impairments, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (39,397)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,607&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 23,717&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,631)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (12,704)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income (loss) from operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,187,013)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,393,729&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,424,217&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (358,748)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,272,185&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other income, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 464,810&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income before income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,736,995&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Provision for income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 396,739&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net income from continuing operations &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,340,256&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income from continuing operations attributable to non-controlling interests&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,112,913&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,227,343&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net loss from discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,371,049)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net income attributable to Consolidated Water Co. Ltd. stockholders&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,856,294&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Depreciation and amortization expenses for the&#160;year ended December&#160;31, 2022 for the retail, bulk, services and manufacturing segments were $2,391,603, $2,836,794, $674,508 and $284,403, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:34.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:64.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As&#160;of December&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:34.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Retail&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Bulk&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Manufacturing&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Accounts receivable, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,953,927&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 16,554,940&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,838,721&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,698,594&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,046,182&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Inventory, current and non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,759,659&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,037,684&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,481,486&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,278,829&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Property, plant and equipment, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,697,490&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 22,510,658&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;759,409 &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,561,988&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 52,529,545&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Construction in progress&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,643,889&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 61,792&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,705,681&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Intangibles, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,064,444&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 754,444&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,818,888&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Goodwill&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,170,511&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,948,875&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,320,416&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,985,211&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,425,013&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total segment assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 65,853,789&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 56,118,243&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;36,319,078 &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13,054,971&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 171,346,081&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Assets of discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,660,768&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 193,006,849&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:63.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Retail&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Bulk&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Manufacturing&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 22,104,953&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 26,800,869&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13,884,857&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,072,823&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 66,863,502&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Cost of revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11,060,937&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 17,759,272&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,707,243&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,828,859&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 43,356,311&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11,044,016&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,041,597&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,177,614&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 243,964&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 23,507,191&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;General and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 12,841,259&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,365,735&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,762,735&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,380,630&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 18,350,359&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Gain (loss) on asset dispositions and impairments, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (246,851)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (485)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,900,000)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (3,145,836)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income (loss) from operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,044,094)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,677,362&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 414,394&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (4,036,666)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,010,996&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other income, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,623,595&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income before income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,634,591&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Benefit from income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (447,982)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net income from continuing operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,082,573&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income from continuing operations attributable to non-controlling interests&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 632,915&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,449,658&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net loss from discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,574,079)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net income attributable to Consolidated Water Co. Ltd. stockholders&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 875,579&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Depreciation and amortization expenses for the&#160;year ended December&#160;31, 2021 for the retail, bulk, services and manufacturing segments were $2,517,407, $3,331,554, $782,882 and $289,390, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:64.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As&#160;of December&#160;31,&#160;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Retail&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Bulk&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Manufacturing&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Accounts receivable, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,601,619&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,682,951&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,698,797&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,365,940&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,349,307&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Inventory, current and non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,787,277&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,860,808&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 589,757&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,237,842&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Property, plant and equipment, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 26,357,390&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 24,476,936&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 512,493&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,599,720&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 52,946,539&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Construction in progress&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 617,334&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 31,737&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 61,792&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 710,863&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Intangibles, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,553,888&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 847,778&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,401,666&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Goodwill&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,170,511&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,948,875&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,320,416&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,985,211&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,425,013&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total segment assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 61,736,441&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 68,723,405&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15,825,207&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,749,877&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 154,034,930&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Assets of discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 22,319,927&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 176,354,857&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Revenue earned by major geographic region were:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Cayman Islands&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 30,375,985&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 24,935,746&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Bahamas&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 29,943,615&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 24,031,547&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 33,338,466&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 17,489,851&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenue earned from management services agreement with OC-BVI&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 446,906&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 406,358&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 94,104,972&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 66,863,502&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Revenue earned from major customers were:&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:73.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenue earned from the WSC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 29,943,615&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 24,031,547&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Percentage of consolidated revenue earned from the WSC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;32%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;36%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:73.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenue earned from one service segment customer&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11,805,752&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:73.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Percentage of consolidated revenue earned from the one service segment customer&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;13%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;0%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Property, plant and equipment, net by major geographic region were:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Cayman Islands&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,068,156&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 26,687,944&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;The Bahamas&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 22,031,690&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 24,004,707&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,429,699&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,253,888&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 52,529,545&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 52,946,539&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="INF"
      id="Narr_CFy5ji2re0qOCvjV4nynaw"
      unitRef="Unit_Standard_segment_oJ9B98qfoEOgvam78GGlOQ">4</us-gaap:NumberOfReportableSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_DxgQzV936UuWkvYTc64fcA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:63.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Retail&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Bulk&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Manufacturing&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 25,954,013&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 32,991,066&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,835,428&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,324,465&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 94,104,972&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Cost of revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 12,548,763&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 23,032,212&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 22,973,634&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,195,240&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 63,749,849&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Gross profit &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13,405,250&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,958,854&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,861,794&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,129,225&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 30,355,123&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;General and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 14,552,866&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,570,732&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,461,294&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,485,342&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,070,234&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Gain (loss) on asset dispositions and impairments, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (39,397)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,607&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 23,717&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,631)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (12,704)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income (loss) from operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,187,013)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,393,729&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,424,217&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (358,748)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,272,185&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other income, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 464,810&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income before income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,736,995&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Provision for income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 396,739&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net income from continuing operations &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,340,256&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income from continuing operations attributable to non-controlling interests&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,112,913&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,227,343&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net loss from discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,371,049)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net income attributable to Consolidated Water Co. Ltd. stockholders&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,856,294&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Depreciation and amortization expenses for the&#160;year ended December&#160;31, 2022 for the retail, bulk, services and manufacturing segments were $2,391,603, $2,836,794, $674,508 and $284,403, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:34.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:64.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As&#160;of December&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:34.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Retail&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Bulk&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Manufacturing&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Accounts receivable, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,953,927&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 16,554,940&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,838,721&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,698,594&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,046,182&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Inventory, current and non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,759,659&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,037,684&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,481,486&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,278,829&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Property, plant and equipment, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,697,490&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 22,510,658&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;759,409 &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,561,988&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 52,529,545&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Construction in progress&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,643,889&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 61,792&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,705,681&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Intangibles, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,064,444&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 754,444&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,818,888&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Goodwill&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,170,511&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,948,875&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,320,416&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,985,211&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,425,013&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total segment assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 65,853,789&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 56,118,243&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;36,319,078 &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13,054,971&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 171,346,081&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:34.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Assets of discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,660,768&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:34.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 193,006,849&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:63.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Retail&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Bulk&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Manufacturing&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 22,104,953&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 26,800,869&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13,884,857&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,072,823&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 66,863,502&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Cost of revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11,060,937&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 17,759,272&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,707,243&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,828,859&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 43,356,311&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11,044,016&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,041,597&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,177,614&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 243,964&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 23,507,191&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;General and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 12,841,259&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,365,735&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,762,735&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,380,630&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 18,350,359&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Gain (loss) on asset dispositions and impairments, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (246,851)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (485)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,900,000)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (3,145,836)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income (loss) from operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,044,094)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,677,362&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 414,394&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (4,036,666)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,010,996&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other income, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,623,595&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income before income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,634,591&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Benefit from income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (447,982)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net income from continuing operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,082,573&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income from continuing operations attributable to non-controlling interests&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 632,915&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,449,658&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net loss from discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,574,079)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net income attributable to Consolidated Water Co. Ltd. stockholders&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 875,579&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Depreciation and amortization expenses for the&#160;year ended December&#160;31, 2021 for the retail, bulk, services and manufacturing segments were $2,517,407, $3,331,554, $782,882 and $289,390, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:64.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As&#160;of December&#160;31,&#160;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Retail&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Bulk&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Manufacturing&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Accounts receivable, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,601,619&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,682,951&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,698,797&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,365,940&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,349,307&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Inventory, current and non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,787,277&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,860,808&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 589,757&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,237,842&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Property, plant and equipment, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 26,357,390&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 24,476,936&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 512,493&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,599,720&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 52,946,539&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Construction in progress&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 617,334&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 31,737&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 61,792&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 710,863&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Intangibles, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,553,888&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 847,778&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,401,666&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Goodwill&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,170,511&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,948,875&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,320,416&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,985,211&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,425,013&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total segment assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 61,736,441&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 68,723,405&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15,825,207&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,749,877&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 154,034,930&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:35.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Assets of discontinued operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 22,319,927&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:35.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 176,354,857&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2aHUbdhyQk2ZfxNmGwqxTw"
      decimals="0"
      id="Tc_cxE48DBxjE2NhHuGn6PJHw_3_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">25954013</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_YEVu63Hoi0q9QEyPbknlzw"
      decimals="0"
      id="Tc_HdgZcoINOUyDSKFhsTK57g_3_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">32991066</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_IRt6ToTRWEanbUvHNX-vUw"
      decimals="0"
      id="Tc_D6qIGRUwXEiKuFzQWNWpKA_3_9"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">28835428</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_nkB06WxPA0OxXc7f_h07Zg"
      decimals="0"
      id="Tc_N32L9Gl50UyYC268y8OpZA_3_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">6324465</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_E4mjiKB5PUmYE-5blbTSqg_3_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">94104972</us-gaap:Revenues>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2aHUbdhyQk2ZfxNmGwqxTw"
      decimals="0"
      id="Tc_6ACQM3Q_ZUu35nRFZlvOlg_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">12548763</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_YEVu63Hoi0q9QEyPbknlzw"
      decimals="0"
      id="Tc_lwAZ2Nb54UmBlfomXziZVw_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">23032212</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_IRt6ToTRWEanbUvHNX-vUw"
      decimals="0"
      id="Tc_zZDR4vECv02V_gpyDbRmnQ_4_9"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">22973634</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_nkB06WxPA0OxXc7f_h07Zg"
      decimals="0"
      id="Tc_Kv_sBqRjQEiN4DZN6cUjvQ_4_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5195240</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_aopwSwyDo0yzkcY0ZvSwNg_4_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">63749849</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2aHUbdhyQk2ZfxNmGwqxTw"
      decimals="0"
      id="Tc_wbkMyJ2QaE6Ow_zg5dkB0g_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">13405250</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_YEVu63Hoi0q9QEyPbknlzw"
      decimals="0"
      id="Tc_uMU2Ojn2w0WHZYDD_mp2qQ_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">9958854</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_IRt6ToTRWEanbUvHNX-vUw"
      decimals="0"
      id="Tc_-MMCUvqQ-USi_Yr1QSCFFw_5_9"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5861794</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_nkB06WxPA0OxXc7f_h07Zg"
      decimals="0"
      id="Tc_oe8TfGZmw02hC5Xlq0Dl0g_5_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1129225</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_vGGQ0R0wokOuoTqLIqv3OA_5_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">30355123</us-gaap:GrossProfit>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2aHUbdhyQk2ZfxNmGwqxTw"
      decimals="0"
      id="Tc_P4QO4TQPmUq3g46oLDVRxA_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">14552866</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_YEVu63Hoi0q9QEyPbknlzw"
      decimals="0"
      id="Tc_K_2ochLUgkOVL94TqqxuoQ_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1570732</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_IRt6ToTRWEanbUvHNX-vUw"
      decimals="0"
      id="Tc_DBw4jK0dHkOioFJfhgp_9Q_6_9"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3461294</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_nkB06WxPA0OxXc7f_h07Zg"
      decimals="0"
      id="Tc_uqyDyRwHFEmsRIiXDa9G4w_6_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1485342</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_DujjtiXhmUGsBB31nc42aA_6_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">21070234</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2aHUbdhyQk2ZfxNmGwqxTw"
      decimals="0"
      id="Tc_JlLZcPMN_0WbdbGoPeBtlg_7_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-39397</us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges>
    <us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_YEVu63Hoi0q9QEyPbknlzw"
      decimals="0"
      id="Tc_EWnsxIWBE0WzPLhaowHcIw_7_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5607</us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges>
    <us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_IRt6ToTRWEanbUvHNX-vUw"
      decimals="0"
      id="Tc_Oc7vibn_UEC89i0E_2uZIw_7_9"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">23717</us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges>
    <us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_nkB06WxPA0OxXc7f_h07Zg"
      decimals="0"
      id="Tc_P2vIsoNVdEW1qiRm2a_brA_7_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-2631</us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges>
    <us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_zxgwZDeEgUmeW9H0LOrGng_7_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-12704</us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2aHUbdhyQk2ZfxNmGwqxTw"
      decimals="0"
      id="Tc_13paZLmacUGjV8X5FSbp2w_8_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-1187013</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_YEVu63Hoi0q9QEyPbknlzw"
      decimals="0"
      id="Tc_PR7RBwgXZkK0kP0y3Jcl-Q_8_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">8393729</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_IRt6ToTRWEanbUvHNX-vUw"
      decimals="0"
      id="Tc_t2kSPkrm70OFFfZQwVbV7w_8_9"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2424217</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_nkB06WxPA0OxXc7f_h07Zg"
      decimals="0"
      id="Tc_5w8Oi6yzeUKIbWnEXPFtJw_8_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-358748</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_t-pMiIp3EUiP0WxR91823w_8_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">9272185</us-gaap:OperatingIncomeLoss>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_uNdb4ty5b0aL0AXReP-_iw_9_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">464810</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_cgJhGxD8r0CYnqnjbuydcA_10_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">9736995</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc__kMzRkb7QEKyUNAwrRdt4g_11_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">396739</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_QQT-gQ3Vz0-jqenCaVBHdQ_12_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">9340256</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_AmAalM51wU2-kFR9yvzH6Q_13_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1112913</us-gaap:IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_5z36ZMHgqEi5uuAKgre3mg_14_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">8227343</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_UtGUkNScfkiKVdaEDSyg1w_15_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-2371049</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_sYYp_sD1mESDwn-4KNcSlg_16_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5856294</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2aHUbdhyQk2ZfxNmGwqxTw"
      decimals="0"
      id="Narr_8BOX_h6JZ0eRPPqbCpr6ew"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2391603</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_YEVu63Hoi0q9QEyPbknlzw"
      decimals="0"
      id="Narr_bQQW_J7tc0GuroYH0E6EkA"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2836794</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_IRt6ToTRWEanbUvHNX-vUw"
      decimals="0"
      id="Narr_D541obFYLkKRoSp_UMP-vA"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">674508</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_nkB06WxPA0OxXc7f_h07Zg"
      decimals="0"
      id="Narr_egb8Hv9nOE2IBLlbcYCN5Q"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">284403</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_yMI9TJT-Yk6yWsERADhHnQ"
      decimals="0"
      id="Tc_1TXP510_5EqeymLqeYHcGg_3_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2953927</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_xkyubD2rlkm1lvMQEhsMKA"
      decimals="0"
      id="Tc_8_I_uaYIO0GxV2eQ-urhUw_3_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">16554940</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_pxLqNsYtpU-9zhcxX9fmtg"
      decimals="0"
      id="Tc_lHx6VZb5X0OEezzh0vkoxQ_3_9"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5838721</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_wxINsIqBXkCzaTLgmTHg1w"
      decimals="0"
      id="Tc_RYe_FMNW_kenwnsp39vw3w_3_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1698594</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_yR1mAjpXw0KM8Xszj7FItg_3_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">27046182</us-gaap:AccountsReceivableNetCurrent>
    <cwco:InventoryCurrentAndNoncurrent
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_yMI9TJT-Yk6yWsERADhHnQ"
      decimals="0"
      id="Tc_Im1W5cTnP0qc39eM7T__Mg_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2759659</cwco:InventoryCurrentAndNoncurrent>
    <cwco:InventoryCurrentAndNoncurrent
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_xkyubD2rlkm1lvMQEhsMKA"
      decimals="0"
      id="Tc_xqBBuYhBYUKZ4acZDz9ASw_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">4037684</cwco:InventoryCurrentAndNoncurrent>
    <cwco:InventoryCurrentAndNoncurrent
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_wxINsIqBXkCzaTLgmTHg1w"
      decimals="0"
      id="Tc_HHo92vm0z0uC6cI92rWnYQ_4_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3481486</cwco:InventoryCurrentAndNoncurrent>
    <cwco:InventoryCurrentAndNoncurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_g6cerxWDWEKf3r3aNvgm0A_4_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">10278829</cwco:InventoryCurrentAndNoncurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_yMI9TJT-Yk6yWsERADhHnQ"
      decimals="0"
      id="Tc_rAGXky0xpU6OMCp0U1BXWQ_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">27697490</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_xkyubD2rlkm1lvMQEhsMKA"
      decimals="0"
      id="Tc_0Fb--N_oI0qmoM_W2Gc51Q_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">22510658</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_pxLqNsYtpU-9zhcxX9fmtg"
      decimals="0"
      id="Tc_M2JRZt4DZ0CPKBcuWXVxjg_5_9"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">759409</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_wxINsIqBXkCzaTLgmTHg1w"
      decimals="0"
      id="Tc_7ZeK515Y-EKIaW5q2huFpQ_5_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1561988</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_nnGGlzL82UuYSwYd9tGfIQ_5_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">52529545</us-gaap:PropertyPlantAndEquipmentNet>
    <cwco:ConstructionInProgress
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_yMI9TJT-Yk6yWsERADhHnQ"
      decimals="0"
      id="Tc_MeLrIq2USk2pX3BqsF6F4Q_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3643889</cwco:ConstructionInProgress>
    <cwco:ConstructionInProgress
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_wxINsIqBXkCzaTLgmTHg1w"
      decimals="0"
      id="Tc__R473QGAPkylGGER59LmFg_6_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">61792</cwco:ConstructionInProgress>
    <cwco:ConstructionInProgress
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_gReTZ083NkuNWjgMwSSUDg_6_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3705681</cwco:ConstructionInProgress>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_pxLqNsYtpU-9zhcxX9fmtg"
      decimals="0"
      id="Tc_WMyH3J-u9Ei4QrPcEIkbmA_7_9"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2064444</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_wxINsIqBXkCzaTLgmTHg1w"
      decimals="0"
      id="Tc_H6Oavsk-YkSEpUb-guINmQ_7_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">754444</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_udho5IdLIEGCVrvBoFJStQ_7_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2818888</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_yMI9TJT-Yk6yWsERADhHnQ"
      decimals="0"
      id="Tc_Pv6DHgik2UO6qlaCkGXQoA_8_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1170511</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_xkyubD2rlkm1lvMQEhsMKA"
      decimals="0"
      id="Tc_miFk_JDP2EukN1tlIVbB6Q_8_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1948875</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_pxLqNsYtpU-9zhcxX9fmtg"
      decimals="0"
      id="Tc_7wLreKiuK0m8v47LE4wHFQ_8_9"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5320416</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_wxINsIqBXkCzaTLgmTHg1w"
      decimals="0"
      id="Tc_cpvA3qFUs0SIvYRUksumyQ_8_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1985211</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_qCN4dMLkgUGso_ISDN86gw_8_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">10425013</us-gaap:Goodwill>
    <cwco:AssetsContinuedOperation
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_yMI9TJT-Yk6yWsERADhHnQ"
      decimals="0"
      id="Tc_ROzAwNGc0Ue595ob6fvrEg_9_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">65853789</cwco:AssetsContinuedOperation>
    <cwco:AssetsContinuedOperation
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_xkyubD2rlkm1lvMQEhsMKA"
      decimals="0"
      id="Tc_W0zpfoool0SGybM0gC1zng_9_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">56118243</cwco:AssetsContinuedOperation>
    <cwco:AssetsContinuedOperation
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_pxLqNsYtpU-9zhcxX9fmtg"
      decimals="0"
      id="Tc_z-qafiDIWE26Ely_ekbdfQ_9_9"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">36319078</cwco:AssetsContinuedOperation>
    <cwco:AssetsContinuedOperation
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_wxINsIqBXkCzaTLgmTHg1w"
      decimals="0"
      id="Tc_izzfRrHpD0imFfk6D8477g_9_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">13054971</cwco:AssetsContinuedOperation>
    <cwco:AssetsContinuedOperation
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_aocfBclOiUeS6A2RYsYQfg_9_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">171346081</cwco:AssetsContinuedOperation>
    <us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperation
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_iNPFHGkxvUGE1HGdp_ZJgw_10_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">21660768</us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperation>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_5drWj0qowk6a3buTmBK53A_11_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">193006849</us-gaap:Assets>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2vl2R6GlI06abktd3rVnpQ"
      decimals="0"
      id="Tc_SkXB2YVtqESvgev7u3wBIA_3_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">22104953</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_354kqbefw0aUK7SVE131BQ"
      decimals="0"
      id="Tc_cvjMPkhJv0uFkKZ3yX01qg_3_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">26800869</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_6gOn62bGkUyBNtALONgh0Q"
      decimals="0"
      id="Tc_khoTHI2g4EKS72gn2W43BQ_3_9"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">13884857</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_HNPzq4QEk02hzXW6t4ppyg"
      decimals="0"
      id="Tc_QfgRi-eJL0u_1CQ2SO-DjA_3_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">4072823</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_bQZiPriYykS4DyQgrSg1cA_3_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">66863502</us-gaap:Revenues>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2vl2R6GlI06abktd3rVnpQ"
      decimals="0"
      id="Tc_pVhQtIqCyEmWa9n9E8TGLQ_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">11060937</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_354kqbefw0aUK7SVE131BQ"
      decimals="0"
      id="Tc_Rib71glFq02ileGdSHWxlQ_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">17759272</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_6gOn62bGkUyBNtALONgh0Q"
      decimals="0"
      id="Tc_GhmbocWiM0mBNtVrWocRBQ_4_9"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">10707243</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_HNPzq4QEk02hzXW6t4ppyg"
      decimals="0"
      id="Tc_Zi8gX3NFbUK-pXXMIyKkrA_4_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3828859</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_BkBq2p3BB0O9L651XbdBfA_4_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">43356311</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2vl2R6GlI06abktd3rVnpQ"
      decimals="0"
      id="Tc_xQnp6S_STUa1vdmKicPMnA_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">11044016</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_354kqbefw0aUK7SVE131BQ"
      decimals="0"
      id="Tc_dlVsSxUE_UOnKQBeSmtVKQ_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">9041597</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_6gOn62bGkUyBNtALONgh0Q"
      decimals="0"
      id="Tc_Fnad1KnPgEuNkerg73nQ7A_5_9"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3177614</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_HNPzq4QEk02hzXW6t4ppyg"
      decimals="0"
      id="Tc_98ZsczNxdke4gLb7c2jPJw_5_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">243964</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_cFqSW9_l-EW89jC3rNJjyg_5_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">23507191</us-gaap:GrossProfit>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2vl2R6GlI06abktd3rVnpQ"
      decimals="0"
      id="Tc_tZjC85QbOk-1Diqvm3mI9Q_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">12841259</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_354kqbefw0aUK7SVE131BQ"
      decimals="0"
      id="Tc_ejkOmkbOH0iQUhP5I0LVYQ_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1365735</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_6gOn62bGkUyBNtALONgh0Q"
      decimals="0"
      id="Tc_tDeu1OxS9UWvtwEdJg2tbw_6_9"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2762735</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_HNPzq4QEk02hzXW6t4ppyg"
      decimals="0"
      id="Tc_utxprAvJ2kqnNPbRAMeFRw_6_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1380630</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_3ZeFmMMhpEu_daeRDAv-fw_6_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">18350359</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2vl2R6GlI06abktd3rVnpQ"
      decimals="0"
      id="Tc_Zm0MSo27AUuO_SCl6Ur4dw_7_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-246851</us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges>
    <us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_354kqbefw0aUK7SVE131BQ"
      decimals="0"
      id="Tc_g9FhK4zELEGoltG64QW-vw_7_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1500</us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges>
    <us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_6gOn62bGkUyBNtALONgh0Q"
      decimals="0"
      id="Tc_k1StK3yOjkSqRKvLpVm_Ew_7_9"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-485</us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges>
    <us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_HNPzq4QEk02hzXW6t4ppyg"
      decimals="0"
      id="Tc_E1tY8qXdjUuOn5d3rzoEaQ_7_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-2900000</us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges>
    <us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_Mw_lP1wWzEWJlQ4I6Hp5og_7_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-3145836</us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2vl2R6GlI06abktd3rVnpQ"
      decimals="0"
      id="Tc_ZJxXlF7WJEq4YQaMGK9V8A_8_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-2044094</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_354kqbefw0aUK7SVE131BQ"
      decimals="0"
      id="Tc_gk8vTeQOC0aVi4xuP08c3w_8_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">7677362</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_6gOn62bGkUyBNtALONgh0Q"
      decimals="0"
      id="Tc_0jGXIbbhBkGujdrPAgqpNQ_8_9"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">414394</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_HNPzq4QEk02hzXW6t4ppyg"
      decimals="0"
      id="Tc_LWiJsAPzEUaP0nWUC69Mbw_8_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-4036666</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_SE6rUMOr8Uq6BEAY3bvyig_8_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2010996</us-gaap:OperatingIncomeLoss>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_hOEdx9Zy6USWhDji1kIRaw_9_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1623595</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_p9JXfcvPLkCSft2RfN-gNg_10_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3634591</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_1QjTJzSBLE6cgA5rFlHAbQ_11_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-447982</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_3_RNULiXD0urZRutmcfe1Q_12_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">4082573</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_WVNV2YX-7kyAQWbDYQDohg_13_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">632915</us-gaap:IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_U4U7TII5IU2Q6G8GpDslqQ_14_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3449658</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_YQQX6WM5REWFCxwNIAoN_g_15_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-2574079</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_wwZMJ4jINky4vHSjaObzNQ_16_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">875579</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2vl2R6GlI06abktd3rVnpQ"
      decimals="0"
      id="Narr_KrjNDO0p9UeTCbLBNSGklQ"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2517407</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_354kqbefw0aUK7SVE131BQ"
      decimals="0"
      id="Narr_geAvWcQpC0-GPjnYrZPHbQ"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3331554</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_6gOn62bGkUyBNtALONgh0Q"
      decimals="0"
      id="Narr_RLQqnJCdnkyPtvDg8WLSxg"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">782882</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_HNPzq4QEk02hzXW6t4ppyg"
      decimals="0"
      id="Narr_P4P0HJgC9Em1VJnpOQUDpg"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">289390</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_t-WGu84yA0WBcTVNs_Ujzg"
      decimals="0"
      id="Tc_0b61Rlrso0SwsjZnX1gZmw_3_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2601619</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_kEOiRg9EdUmY3kDhVT3eHA"
      decimals="0"
      id="Tc_nCekj7HTwUypzdrgRLdO9A_3_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">21682951</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_DnuL5xir2EGdN8ch70dVVA"
      decimals="0"
      id="Tc_KTMA32pbC0-Ilgq48e7HEQ_3_9"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1698797</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_C80WhF3-F0q5OZlO-1TxgA"
      decimals="0"
      id="Tc_fSKpy4NUMkOuj2p09sXVqg_3_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1365940</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_P_MUO0Gx_0-_CV84lO842Q_3_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">27349307</us-gaap:AccountsReceivableNetCurrent>
    <cwco:InventoryCurrentAndNoncurrent
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_t-WGu84yA0WBcTVNs_Ujzg"
      decimals="0"
      id="Tc_Wwe8TFCZPE2MFPizLsT8Mg_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2787277</cwco:InventoryCurrentAndNoncurrent>
    <cwco:InventoryCurrentAndNoncurrent
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_kEOiRg9EdUmY3kDhVT3eHA"
      decimals="0"
      id="Tc_F9X9Mz327kCGbktxcA4Zew_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3860808</cwco:InventoryCurrentAndNoncurrent>
    <cwco:InventoryCurrentAndNoncurrent
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_C80WhF3-F0q5OZlO-1TxgA"
      decimals="0"
      id="Tc_Dhie28xf3kq25eUhaxzvGQ_4_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">589757</cwco:InventoryCurrentAndNoncurrent>
    <cwco:InventoryCurrentAndNoncurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_Y7sD49V9B0eNnHtkLDg4IA_4_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">7237842</cwco:InventoryCurrentAndNoncurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_t-WGu84yA0WBcTVNs_Ujzg"
      decimals="0"
      id="Tc_DgfnBH8qZE-REjzM9vI7dw_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">26357390</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_kEOiRg9EdUmY3kDhVT3eHA"
      decimals="0"
      id="Tc_t2-2soH7eUGGENeHHAsP2g_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">24476936</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_DnuL5xir2EGdN8ch70dVVA"
      decimals="0"
      id="Tc_JEn4jxJRjE-GWWvQf57ndQ_5_9"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">512493</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_C80WhF3-F0q5OZlO-1TxgA"
      decimals="0"
      id="Tc_-9mpv04JUEyx8YECXJW3Ag_5_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1599720</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_qMfGzEQs8kyrd3kNCMeldA_5_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">52946539</us-gaap:PropertyPlantAndEquipmentNet>
    <cwco:ConstructionInProgress
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_t-WGu84yA0WBcTVNs_Ujzg"
      decimals="0"
      id="Tc_nxqDZZFq8UeT3hw7E7w30g_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">617334</cwco:ConstructionInProgress>
    <cwco:ConstructionInProgress
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_kEOiRg9EdUmY3kDhVT3eHA"
      decimals="0"
      id="Tc_ONEoWkfnWk2CrRcRwwM50Q_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">31737</cwco:ConstructionInProgress>
    <cwco:ConstructionInProgress
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_C80WhF3-F0q5OZlO-1TxgA"
      decimals="0"
      id="Tc_yGh8fweCl0qelhDeQs-gsw_6_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">61792</cwco:ConstructionInProgress>
    <cwco:ConstructionInProgress
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_c9GNe8e6ikGv5OAf-9QFkw_6_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">710863</cwco:ConstructionInProgress>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_DnuL5xir2EGdN8ch70dVVA"
      decimals="0"
      id="Tc_XY_4L9lwsUG_d8eOqLz6yA_7_9"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2553888</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_C80WhF3-F0q5OZlO-1TxgA"
      decimals="0"
      id="Tc_FvedAZgCQUC0uPHNj4bouw_7_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">847778</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_uqUVr-lrCUGi19excMCHIA_7_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3401666</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_t-WGu84yA0WBcTVNs_Ujzg"
      decimals="0"
      id="Tc_SqByJCKbfU-qbF8TutH0LQ_8_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1170511</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_kEOiRg9EdUmY3kDhVT3eHA"
      decimals="0"
      id="Tc_YDkS5I8Qk0imFedIMFR2jQ_8_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1948875</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_DnuL5xir2EGdN8ch70dVVA"
      decimals="0"
      id="Tc_mUoFwZ3uSkqeLzVFRxf5DA_8_9"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5320416</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_C80WhF3-F0q5OZlO-1TxgA"
      decimals="0"
      id="Tc_TFRxqrUUWk2Ue72wlK4uJA_8_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1985211</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_yc9SeLH400mtA6q51g3EQw_8_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">10425013</us-gaap:Goodwill>
    <cwco:AssetsContinuedOperation
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_t-WGu84yA0WBcTVNs_Ujzg"
      decimals="0"
      id="Tc_gWASB_VjdkuQp1MJPLN05Q_9_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">61736441</cwco:AssetsContinuedOperation>
    <cwco:AssetsContinuedOperation
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_BulkMember_kEOiRg9EdUmY3kDhVT3eHA"
      decimals="0"
      id="Tc_o5NUcRUm-0G9eDE7xbnhVQ_9_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">68723405</cwco:AssetsContinuedOperation>
    <cwco:AssetsContinuedOperation
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ServicesMember_DnuL5xir2EGdN8ch70dVVA"
      decimals="0"
      id="Tc_-_1wlcuaYUiyWOPPRv-1gg_9_9"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">15825207</cwco:AssetsContinuedOperation>
    <cwco:AssetsContinuedOperation
      contextRef="As_Of_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_ManufacturingUnitsMember_C80WhF3-F0q5OZlO-1TxgA"
      decimals="0"
      id="Tc_1oyg2ryleUumHLdYDA4W5w_9_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">7749877</cwco:AssetsContinuedOperation>
    <cwco:AssetsContinuedOperation
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_ChtLyLZbk0qRCNms8aS8yA_9_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">154034930</cwco:AssetsContinuedOperation>
    <us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperation
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc__gFxQ7nr80Wzy6seCGR5UA_10_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">22319927</us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperation>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_oafVYnb_NUGNjiMk7b9g4Q_11_15"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">176354857</us-gaap:Assets>
    <us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_NRabvKnooEaqAqnHziMhGQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Cayman Islands&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 30,375,985&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 24,935,746&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Bahamas&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 29,943,615&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 24,031,547&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 33,338,466&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 17,489,851&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenue earned from management services agreement with OC-BVI&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 446,906&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 406,358&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 94,104,972&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 66,863,502&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Revenue earned from major customers were:&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:73.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenue earned from the WSC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 29,943,615&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 24,031,547&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Percentage of consolidated revenue earned from the WSC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;32%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;36%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:73.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenue earned from one service segment customer&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11,805,752&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:73.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Percentage of consolidated revenue earned from the one service segment customer&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;13%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;0%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_KY_LGMwzhuDBEeoIKH3HuSbRg"
      decimals="0"
      id="Tc_cmH3otKqMEy5yISyCAZjjg_3_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">30375985</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_KY_10Bchwih-UCG-OIAJ0ASsQ"
      decimals="0"
      id="Tc_6NtEM6EPUkOS6efydgZYDA_3_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">24935746</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_BS_qBh3Nc-_h0aLnwGNiWhXwQ"
      decimals="0"
      id="Tc_hso-wmzL5kejDztNwubdgw_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">29943615</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_BS_QoTCoVIlek6KVicMqAXEzg"
      decimals="0"
      id="Tc_KxIEOYm8uUCUNniRLf2aLw_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">24031547</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_US_uBo_fz05N0mnkK6jRORx0A"
      decimals="0"
      id="Tc_L90YustFVU2md0ufXqWVaQ_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">33338466</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_US_WQ1NEC1960Ge0YwTP5I_wg"
      decimals="0"
      id="Tc_T-j8IaLebUSCoiqavSDw4w_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">17489851</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_VG_VudHKE0yR0OV5ND7dIJn7Q"
      decimals="0"
      id="Tc_DgNcx7b2pkOZYfMPALPfyA_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">446906</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_VG_ukkHuCZRgkyxA4Fzlpyaeg"
      decimals="0"
      id="Tc_O4sz076wgkOqFDJY_x2HWQ_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">406358</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_BAMj6Y-XxkyO3VC1kyE2JQ_7_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">94104972</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_Smt-Yec_e0uaSDSyNgrmFQ_7_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">66863502</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_cwco_WaterAndSewerageCorporationMember_esbf11VJtECLay_63AnQqw"
      decimals="0"
      id="Tc_2h4YIJChtk2hP4mD2wZdeA_3_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">29943615</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_cwco_WaterAndSewerageCorporationMember_3nw4hEHvOUKq9XyzXSvAZg"
      decimals="0"
      id="Tc_dwMprNnuXEKJYXksp6Q5Rw_3_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">24031547</us-gaap:Revenues>
    <cwco:EntityWideRevenuesMajorCustomerPercentage
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_cwco_WaterAndSewerageCorporationMember_esbf11VJtECLay_63AnQqw"
      decimals="2"
      id="Tc_Shs-O-mjqkGCoRXEG87ACw_4_3"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.32</cwco:EntityWideRevenuesMajorCustomerPercentage>
    <cwco:EntityWideRevenuesMajorCustomerPercentage
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_cwco_WaterAndSewerageCorporationMember_3nw4hEHvOUKq9XyzXSvAZg"
      decimals="2"
      id="Tc_h2lp2-cgKEG_zh18dboerw_4_6"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.36</cwco:EntityWideRevenuesMajorCustomerPercentage>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_cwco_OneCustomerMember_9QIwsDVJX0C42rsJ6oSh1g"
      decimals="0"
      id="Tc_Y0Pd3kqpGUaCiHnnpCp6sA_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">11805752</us-gaap:Revenues>
    <cwco:EntityWideRevenuesMajorCustomerPercentage
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_cwco_OneCustomerMember_9QIwsDVJX0C42rsJ6oSh1g"
      decimals="2"
      id="Tc_DepaSXgEHEedSHeMFqtBdg_6_3"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.13</cwco:EntityWideRevenuesMajorCustomerPercentage>
    <cwco:EntityWideRevenuesMajorCustomerPercentage
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_cwco_OneCustomerMember_lcJWJF1fG0C0RkmArUO7Sw"
      decimals="2"
      id="Tc_aLUWMx9ulk2VogxIyTYxtg_6_6"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0</cwco:EntityWideRevenuesMajorCustomerPercentage>
    <us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_Li62ua9ccUuXOWtADuq7vw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Cayman Islands&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,068,156&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 26,687,944&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;The Bahamas&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 22,031,690&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 24,004,707&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,429,699&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,253,888&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 52,529,545&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 52,946,539&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_KY_aytbaBe1RESSQ-KE0shQeg"
      decimals="0"
      id="Tc_GUPEMOWUbU-qjSe4NGzrZg_3_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">28068156</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_KY_G0NcxKf4J02alFaw0VPRbA"
      decimals="0"
      id="Tc_V6n8Ym6x0UOKlnPLYullbw_3_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">26687944</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_BS_IREMcZqPMEu7y9eIsurthQ"
      decimals="0"
      id="Tc_O8uxvDOqh0qcSJ4DNE4m4g_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">22031690</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_BS_3RfaHR7Dg0udZ2YQ4jDT1w"
      decimals="0"
      id="Tc_6nBI7kbdbkSV5w401TBNcg_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">24004707</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_US_-X9B-7Q8mke3TrF_DHHdeg"
      decimals="0"
      id="Tc_8eh02iClQ02uQpnQNTAxwA_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2429699</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_US_h3yTQxDRmkygbqn2Lrhrmw"
      decimals="0"
      id="Tc_R1sWjCJCpUW2NdQJ1TnO_g_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2253888</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_-WWK-UP6qkCdYEfjTwodUg_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">52529545</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_BsdUJ-XQeE6UZ6dzxrxsfQ_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">52946539</us-gaap:PropertyPlantAndEquipmentNet>
    <cwco:CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_GaLl0j2_xUKknw-YgCFDbg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"&gt;15. Cost of revenue and general and administrative expenses&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Cost of revenue consist of:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Subcontractor and other project costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 16,717,422&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,853,617&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Employee costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 14,036,117&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 12,439,042&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Fuel oil&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,203,690&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,742,056&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Electricity&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,975,129&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,698,148&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,261,463&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,855,073&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Maintenance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,786,258&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,092,776&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Insurance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,782,333&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,625,862&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Retail license royalties&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,590,250&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,418,820&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Cost of plant sales&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,129,702&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 24,757&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,267,485&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,606,160&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 63,749,849&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 43,356,311&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;General and administrative expenses consist of:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Employee costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11,209,635&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,562,125&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Insurance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,067,625&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,813,026&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Professional fees&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,760,279&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,611,616&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Directors&#x2019; fees and expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 991,592&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 851,775&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Office rent&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 793,380&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 735,737&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Amortization of intangible assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 582,778&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 746,667&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 163,714&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 140,140&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,501,231&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,889,273&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,070,234&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 18,350,359&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</cwco:CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock>
    <cwco:CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb__OKaRQdS4UWU7NLY9Qh3Pw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Cost of revenue consist of:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Subcontractor and other project costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 16,717,422&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,853,617&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Employee costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 14,036,117&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 12,439,042&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Fuel oil&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,203,690&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,742,056&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Electricity&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,975,129&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,698,148&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,261,463&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,855,073&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Maintenance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,786,258&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,092,776&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Insurance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,782,333&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,625,862&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Retail license royalties&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,590,250&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,418,820&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Cost of plant sales&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,129,702&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 24,757&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,267,485&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,606,160&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 63,749,849&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 43,356,311&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;General and administrative expenses consist of:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Employee costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11,209,635&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,562,125&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Insurance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,067,625&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,813,026&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Professional fees&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,760,279&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,611,616&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Directors&#x2019; fees and expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 991,592&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 851,775&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Office rent&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 793,380&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 735,737&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Amortization of intangible assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 582,778&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 746,667&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 163,714&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 140,140&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,501,231&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,889,273&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,070,234&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 18,350,359&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</cwco:CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_SubcontractorAndOtherProjectCostsMember_XhU9vS8_20W29yC7N_03Wg"
      decimals="0"
      id="Tc_cvgPWRLG-UeTH9igzoWgrA_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">16717422</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_SubcontractorAndOtherProjectCostsMember_p8hLBubTtEai_O-YymOVjQ"
      decimals="0"
      id="Tc_-pcvcib1HUagaIfxoZEOGQ_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5853617</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_EmployeeCostsMember_bIWKq5RfEkiFNs9Aq6N5_Q"
      decimals="0"
      id="Tc_0ZxO94mz-02BtEEn6R2XeQ_5_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">14036117</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_EmployeeCostsMember_40yYODM2M0m4eLrz6c5tlg"
      decimals="0"
      id="Tc_KF7t20i4l0qvfMjDjbxqdQ_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">12439042</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_FuelOilMember_6GPmBn3L-0KPvFtTnlY1BQ"
      decimals="0"
      id="Tc_zcSFWzn2aEqAuTjgf8JlhQ_6_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">10203690</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_FuelOilMember_R-wITW4xLk6FWS8D8MP55w"
      decimals="0"
      id="Tc_zwp8bhER30qPXE-2-Dl-_Q_6_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5742056</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_ElectricityMember_yq2PdP9dpk6oPpPYdLC2Hw"
      decimals="0"
      id="Tc_ORPMHeSkZUmVwcCSGsWk8Q_7_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">6975129</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_ElectricityMember_f8IXGKyadkyYilGhZ4F9Dg"
      decimals="0"
      id="Tc_vPNhLjwuv0a3tO5-L8iMRg_7_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5698148</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_DepreciationMember_sLS-p1a5IESi2YQ7C-rTjA"
      decimals="0"
      id="Tc_TfVaPwhK2U-UHOVDPYxwfA_8_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5261463</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_DepreciationMember_Rx0GvWPc-EipH48w2y44cg"
      decimals="0"
      id="Tc_tlneRZkUmEe-8n8GuTLw8A_8_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">5855073</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_MaintenanceMember_x8Fsfq_31ky5ONjU1hMwPw"
      decimals="0"
      id="Tc_49eC0qRPsECQ6ypc4ywiLQ_9_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2786258</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_MaintenanceMember_6iYt2gEtEUGezZ9OVF7xVg"
      decimals="0"
      id="Tc_hZfTql9d_E-i5m4NCUSUOQ_9_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2092776</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_InsuranceMember_fmq4MiOMy0ub2rIL9u0Kdg"
      decimals="0"
      id="Tc_wgM6e6-tlkOyhwnkBh1ELQ_10_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1782333</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_InsuranceMember_rK2O92hQvUeRfxQOrAmZbw"
      decimals="0"
      id="Tc_7OIJwLmLnkexFYX1J_5fOQ_10_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1625862</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_RoyaltiesMember_YF1aUPpxdUCSJX1stTDoXg"
      decimals="0"
      id="Tc_32fdkcH7TESurrjVfGinLA_11_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1590250</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_RoyaltiesMember_N47O_RTFH0WOiA3GtBgSew"
      decimals="0"
      id="Tc_rFZ5NEHvkUG6ZWTLPhVJTg_11_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1418820</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_CostOfPlantSalesMember_mLcVbsFXBEiaUjTcypQlyg"
      decimals="0"
      id="Tc_txu-QZfAfES2GhVkDv1iyw_12_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1129702</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_CostOfPlantSalesMember_eN551kVrsE2ZDDKBtVQSTw"
      decimals="0"
      id="Tc_ZcI3gbtIOkSmtTAGe-DejQ_12_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">24757</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_OtherExpenseMember_Jqvw6ii1bUqbPg7Ok9p7XA"
      decimals="0"
      id="Tc_pYnOlluC-ECbJeqRl0RyWg_13_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3267485</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_OtherExpenseMember_vbXMWytAKkOCFtxYZjX4lg"
      decimals="0"
      id="Tc_05dcHph3wUy4iOH6puwQdQ_13_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2606160</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_HxobffdKh06c5r3hP0HM4g_14_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">63749849</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_ulHupMgLikClDYq6c4DTvg_14_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">43356311</us-gaap:CostOfRevenue>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_EmployeeCostsMember_bIWKq5RfEkiFNs9Aq6N5_Q"
      decimals="0"
      id="Tc_eBe09s_-NU6zdUCqTcDh4Q_19_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">11209635</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_EmployeeCostsMember_40yYODM2M0m4eLrz6c5tlg"
      decimals="0"
      id="Tc_OQ-IDmXo5kG0VvKiKMwUBw_19_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">9562125</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_InsuranceMember_fmq4MiOMy0ub2rIL9u0Kdg"
      decimals="0"
      id="Tc_6Ap58ybVKEKLVXlPT652Dg_20_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2067625</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_InsuranceMember_rK2O92hQvUeRfxQOrAmZbw"
      decimals="0"
      id="Tc_Bd-l4jzkAkeSD3T68aI_fw_20_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1813026</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_ProfessionalsFeeMember_1twsjW8lhkq1AlUBpxggJQ"
      decimals="0"
      id="Tc_APTtOZ9yDE-U8aOa3dig-g_21_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1760279</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_ProfessionalsFeeMember_cBzlfvMR2EKesUCnKHTDFw"
      decimals="0"
      id="Tc_EtAM9P3WckGeNJpVFiF7Yw_21_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1611616</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_DirectorsFeesAndExpensesMember_ef659NXfWkajdwo8FM7Ogw"
      decimals="0"
      id="Tc_mfxixzheUkWlH0WdtW93Qw_22_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">991592</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_DirectorsFeesAndExpensesMember_jjWf027980ObM2mgJaOYnw"
      decimals="0"
      id="Tc_Bn3NdTrgykicQXua0LCHOg_22_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">851775</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_OfficeRentMember_6yHLrRL1-0WwJfy-7XaGKA"
      decimals="0"
      id="Tc_dFhxyqAzVEejEQcgm__7MQ_23_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">793380</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_OfficeRentMember_qdnjxSDjfUuw726x2no2rw"
      decimals="0"
      id="Tc_kU-vs5qYIEqR6-JMU_FbyQ_23_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">735737</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_AmortizationOfIntangiblesMember_tS1JMDtniUOT2xwxsSNm-w"
      decimals="0"
      id="Tc_z20c44Ghl02Fr7ITAMNidQ_24_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">582778</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_AmortizationOfIntangiblesMember_TZH2krkk8k2yUvokVGYscA"
      decimals="0"
      id="Tc_6AF30kYjM0O6_5aEKYZggA_24_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">746667</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_DepreciationMember_sLS-p1a5IESi2YQ7C-rTjA"
      decimals="0"
      id="Tc_IyMMT-yJkEWpPwtmR64g2w_25_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">163714</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_DepreciationMember_Rx0GvWPc-EipH48w2y44cg"
      decimals="0"
      id="Tc_nTjVq3ybMU2OFMBo1vcnbw_25_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">140140</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_OtherCreditDeviceMember_Dzk2dI800Uu7HiCihH5VzA"
      decimals="0"
      id="Tc_xOhIr9EAt0GjYRoASMfJkA_26_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3501231</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_OtherCreditDeviceMember_eG9vT2tEA0K_f5i4QKLeuw"
      decimals="0"
      id="Tc_-y-Mh9vnEk2igXHz5QX5yQ_26_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2889273</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_wE4MzlA9gUCfCtaqAqQIgg_27_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">21070234</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_M1G7u_Zb1Eir1VrXDPNXWA_27_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">18350359</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_8Pg0HpgoL0ynnBzPA-nUOw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;16. Stock-based compensation&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company has the following stock compensation plans that form part of its employees&#x2019; and Directors&#x2019; remuneration:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;Employee Share Incentive Plan (Preferred Stock)&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Employees (i.e., other than Directors and Officers), after &lt;span style="-sec-ix-hidden:Hidden_m6oR_p4jC0S6jabQ6DdScQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;four&lt;/span&gt;&lt;/span&gt; consecutive years of employment, become eligible to receive shares of the Company&#x2019;s preferred stock for $nil consideration under the Company&#x2019;s Employee Share Incentive Plan. Once an individual becomes eligible for this plan, they are awarded shares of preferred stock in the month of June following their date of eligibility for the plan (the &#x201c;grant date&#x201d;) and in June of each subsequent year of the individual's employment for as long as the individual remains employed with the Company. If the employee remains with the Company through the fourth anniversary of a grant date, the preferred stock can be converted into shares of the Company&#x2019;s common stock on a one for one basis. In addition, at the time the preferred stock is granted, the employee receives options to purchase an equal number of shares of preferred stock at a discount to the average trading price of the Company&#x2019;s common stock for the first &lt;span style="-sec-ix-hidden:Hidden_g43qDNLa60qa927jd3oQ1Q;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;seven&#160;days&lt;/span&gt;&lt;/span&gt; of the October&#160;immediately preceding the date of the preferred stock grant. If these options are exercised, the shares of preferred stock obtained may also be converted to shares of common stock if the employee remains with the Company through the fourth anniversary of a grant date. Each employee&#x2019;s option to purchase shares of preferred stock must be exercised within &lt;span style="-sec-ix-hidden:Hidden_gp5NWYBmYUOohlMit8VLZA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;30&#160;days&lt;/span&gt;&lt;/span&gt; of the grant date, which is the 90&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;th&lt;/sup&gt; day after the date of the independent registered public accountants&#x2019; audit opinion on the Company&#x2019;s consolidated financial statements. Shares of preferred stock not subsequently converted to shares of common stock are redeemable only at the discretion of the Company. Shares of preferred stock granted under this plan during the&#160;years ended December&#160;31, 2022 and 2021 totaled 9,295 and 8,632, respectively, and an equal number of preferred stock options were granted in each of these&#160;years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;Employee Share Option Plan (Common Stock Options)&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company has an employee stock option plan for four long-serving employees of the Company. Under the plan, these employees are granted in each calendar&#160;year, as long as the employee is a participant in the Employee Share Incentive Plan, options to purchase common shares. The price at which the option may be exercised is the closing market price on the grant date, which is the 40&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;th&lt;/sup&gt; day after the date of the Company&#x2019;s Annual Shareholder Meeting. The number of options each employee is granted is equal to five times the sum of (i)&#160;the number of shares of preferred stock that employee receives for $nil consideration and (ii)&#160;the number of preferred stock options that employee exercises in that given&#160;year. Options may be exercised during the period commencing on the fourth anniversary of the grant date and ending on the 30&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;th&lt;/sup&gt; day after the fourth anniversary of the grant date. Options granted under this plan during the&#160;years ended December&#160;31, 2022 and 2021 totaled 3,665 and 3,400, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The fair value of each option award is estimated on the date of grant using a Black-Scholes option-pricing model that uses the assumptions noted in the table below. Expected volatilities are based on historical volatilities of the Company&#x2019;s common stock. The expected term of options granted is based on historical data and represents the period of time that options granted are expected to be outstanding. The Company uses historical data to estimate stock option exercises and forfeitures within its valuation model. The risk-free interest rate for the expected term of the option is based on the U.S. Treasury yield curve in effect at the time of the grant.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;2008 Equity Incentive Plan&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;On May&#160;14, 2008, the Company&#x2019;s stockholders approved the 2008 Equity Incentive Plan (the &#x201c;2008 Plan&#x201d;) and reserved 1,500,000 shares of the Company&#x2019;s Class&#160;A common shares for issuance under this plan. All Directors, executives and key employees of the Company or its affiliates are eligible for participation in the 2008 Plan which provides for the issuance of options, restricted stock and stock equivalents at the discretion of the Board.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company measures and recognizes compensation expense at fair value for all share-based payments, including stock options. Stock-based compensation for the Employee Share Incentive Plan, Employee Share Option Plan and the 2008 Equity Incentive Plan totaled $386,260 and $137,215 for the&#160;years ended December&#160;31, 2022 and 2021, respectively, and is included in general and administrative expenses in the accompanying consolidated statements of income.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The significant weighted average assumptions for the&#160;years ended December&#160;31, 2022 and 2021 were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:77.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:77.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Risk free interest rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.64&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.20&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:77.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Expected option life (years)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:77.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Expected volatility&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 47.15&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 31.92&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:77.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Expected dividend yield&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.35&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.87&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;A summary of the Company&#x2019;s stock option activity for the&#160;year ended December&#160;31, 2022 is as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contractual&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Life&#160;(Years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&#160;(1)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:59.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding at beginning of period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,490&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 12.98&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:59.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 12,960&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10.47&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:59.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (3,064)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8.73&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:59.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Forfeited/expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (8,646)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9.89&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:59.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding as of December&#160;31,&#160;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11,740&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13.59&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.37&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;years&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 14,534&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:59.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Exercisable as of December&#160;31,&#160;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;years&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;The intrinsic value of a stock option represents the amount by which the fair value of the underlying stock, measured by reference to the closing price of the common shares of &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;$&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;14.80&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt; on the Nasdaq Global Select Market on December&#160;31, 2022, exceeds the exercise price of the option.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:12pt;"/&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;As of December&#160;31, 2022, 11,740 non-vested options were outstanding, with weighted average exercise price of $13.59, and average remaining contractual life of 2.37&#160;years.&#160;The total remaining unrecognized compensation costs related to unvested stock-based arrangements were $23,609 as of December&#160;31, 2022 and are expected to be recognized over a weighted average period of 2.37&#160;years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The following table summarizes the weighted average fair value of options at the date of grant and the intrinsic value of options exercised during the years ended December 31, 2022 and 2021:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Options granted with an exercise price below market price on the date of grant:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Employees &#x2014; preferred stock&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5.58&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.71&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Overall weighted average&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5.58&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.71&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Options granted with an exercise price at market price on the date of grant:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Management employees&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Employees &#x2014; common stock&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4.32&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.89&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Overall weighted average&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4.32&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.89&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Options granted with an exercise price above market price on the date of grant:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Management employees&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Employees &#x2014; preferred stock&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Overall weighted average&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total intrinsic value of options exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 17,158&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,876&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;Senior Management Long-Term Incentive Compensation&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Board of Directors has established the long-term incentive compensation for the Company&#x2019;s senior management to better align the interests of its senior management with those of its shareholders. The long-term compensation plan includes a combination of performance and non-performance-based grants of common stock from the shares of Company stock provided for issuance under the 2008 Equity Incentive Plan.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The non-performance-based stock grant rights, which are issued on January 1 of each year, vest in one-third increments at the end of each&#160;year over a three-year period. The number of non-performance-based stock grant rights issued on January 1, 2022 and 2021 were 32,265 and 26,403, respectively. These stock grant rights vest in one-third increments over the &lt;span style="-sec-ix-hidden:Hidden_xV2zF2SZVkSO1s2NF-O8vA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;three-year&lt;/span&gt;&lt;/span&gt; periods ending December 31, 2024 and 2023, respectively. The total number of vested shares issued under prior years&#x2019; non-performance stock grant rights totaled 23,411 and 25,789 in the years ended December 31, 2022 and 2021, respectively. For the&#160;years ended December&#160;31, 2022 and 2021, the Company recognized $325,270 and $306,250 in stock-based compensation expense, respectively, related to the incremental vesting of the non-performance stock grant rights.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The performance-based grants may be earned at the end of each&#160;year based upon the Company's three-year cumulative financial performance relative to three-year cumulative financial performance targets. The Company recognized $335,964 and $214,675 in stock-based compensation for the&#160;year ended December&#160;31, 2022 and 2021, respectively, related to these grants.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;A total of 13,797 stock grant rights were earned as of December&#160;31, 2022 based upon the Company&#x2019;s actual financial performance relative to the cumulative financial performance targets for the three-year period ended December 31, 2022 The shares associated with these grants will be issued in 2023.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;A total of 18,419 stock grant rights were earned as of December&#160;31, 2021 based upon the Company&#x2019;s actual financial performance relative to the cumulative financial performance targets for the &lt;span style="-sec-ix-hidden:Hidden_fz6kqljD4UmKUrGC033RsQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;three&lt;/span&gt;&lt;/span&gt;-year period ended December 31, 2021. The shares associated with these grants were issued in 2022&lt;span style="color:#00b050;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;Non-Executive Directors&#x2019; Share Plan&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;This stock grant plan provides part of the Directors&#x2019; remuneration. Under this plan, non-Executive Directors receive a combination of cash and common stock for their participation in Board meetings. The number of shares of common stock granted is calculated based upon the market price of the Company&#x2019;s common stock on October&#160;1 of the&#160;year preceding the grant. Common stock granted under this plan during the&#160;years ended December&#160;31, 2022 and 2021 totaled 30,767 and 30,911 shares, respectively. The Company recognized stock-based compensation for these share grants of $369,678 and $319,002 for the&#160;years ended December&#160;31, 2022 and 2021, respectively.&lt;/p&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <cwco:StockholdersEquityNoteConversionRatioPreferredShares
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_2cgc8-j8cUCv6seVGLB6Uw"
      decimals="INF"
      id="Narr_3lVYZEFSEU-yJ3JyadMomg"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">1</cwco:StockholdersEquityNoteConversionRatioPreferredShares>
    <cwco:StockholdersEquityNoteConversionRatioCommonShares
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_2cgc8-j8cUCv6seVGLB6Uw"
      decimals="INF"
      id="Narr_RTTU3CO0DEKRsFVhH0F5-Q"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">1</cwco:StockholdersEquityNoteConversionRatioCommonShares>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_2cgc8-j8cUCv6seVGLB6Uw"
      decimals="INF"
      id="Narr_8t8Wb4PUTES3FQoEolw34A"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">9295</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_AjbJjcVS60Oq3_8Jk4K9Og"
      decimals="INF"
      id="Narr_XHB-h8f940mxLdtBWR2V9w"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">8632</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_CommonStockOptionsMember_us-gaap_OptionIndexedToIssuersEquityTypeAxis_us-gaap_EmployeeStockOptionMember_SUkL0fscsEmdQK_KX5vwWw"
      decimals="INF"
      id="Narr_dy2F7e_W1025LrdO7ux3lw"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">3665</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_CommonStockOptionsMember_us-gaap_OptionIndexedToIssuersEquityTypeAxis_us-gaap_EmployeeStockOptionMember_AQCq0oLNvkCrjC1ecePAKQ"
      decimals="INF"
      id="Narr_C2BbyM-0pkiT7PQ-TsrrIQ"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">3400</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="As_Of_5_14_2008_us-gaap_OptionIndexedToIssuersEquityTypeAxis_cwco_EquityIncentivePlan2008Member_16nn6bq2CUeGWVe6B8GRLA"
      decimals="INF"
      id="Narr_U-iXLvZd902sztdOwzzqoQ"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">1500000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Narr_ZRsQ5gZlMUacop35xERixA"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">386260</us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax>
    <us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Narr_PHxG2YoSIEiCeMTxzBWH7w"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">137215</us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_--cdHE_A6kaGUKf2W1fAcQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:77.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:77.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Risk free interest rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.64&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.20&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:77.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Expected option life (years)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:77.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Expected volatility&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 47.15&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 31.92&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:77.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Expected dividend yield&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.35&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.87&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="4"
      id="Tc_lRDYdqjMm0iA6XwXvngqgw_2_2"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.0164</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="4"
      id="Tc__k6i4u4qFk2VPujqImZlaQ_2_4"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.0020</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tc_BmbFK0I4ykOtTpEDHej0Ww_3_2">P1Y2M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      id="Tc_xySCwsnxdkyds2oAkc1veg_3_4">P1Y2M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="4"
      id="Tc_105ag8Bk4EKUYwB23qh15g_4_2"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.4715</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="4"
      id="Tc_CeI20-kw_Uyv21sKIqw6Vw_4_4"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.3192</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="4"
      id="Tc_STNNhqOhGUCf4RHPSKJvjQ_5_2"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.0235</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="4"
      id="Tc_tp5Ht7FlbkWaYFfeaz2mwA_5_4"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.0287</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_coMuP9TqB0eWGMJ55LIU4w">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;A summary of the Company&#x2019;s stock option activity for the&#160;year ended December&#160;31, 2022 is as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contractual&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Life&#160;(Years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&#160;(1)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:59.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding at beginning of period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,490&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 12.98&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:59.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 12,960&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10.47&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:59.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (3,064)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8.73&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:59.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Forfeited/expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (8,646)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9.89&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:59.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding as of December&#160;31,&#160;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11,740&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13.59&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.37&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;years&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 14,534&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:59.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Exercisable as of December&#160;31,&#160;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;years&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;The intrinsic value of a stock option represents the amount by which the fair value of the underlying stock, measured by reference to the closing price of the common shares of &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;$&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;14.80&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt; on the Nasdaq Global Select Market on December&#160;31, 2022, exceeds the exercise price of the option.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:12pt;"/&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="INF"
      id="Tc_VzzL2o5pjU25h8NIUce7ig_6_2"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">10490</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="2"
      id="Tc_z5x37cWgbUiKgbCll3voig_6_5"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">12.98</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="INF"
      id="Tc_EYt4jt0PRkGcAP1IzG2z4A_7_2"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">12960</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="2"
      id="Tc_RGC-2oJ08k6C2CPLNZGhRw_7_5"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">10.47</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="INF"
      id="Tc_Vi3izsu7ikisWckvLfg-3g_8_2"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">3064</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="2"
      id="Tc_vFsH74GTH02S2G3OivIADQ_8_5"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">8.73</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="INF"
      id="Tc_Setu198IA0Gu9wi2TT0HYA_9_2"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">8646</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="2"
      id="Tc_dwrqrsFc40qPnqB9WB-WEg_9_5"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">9.89</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="INF"
      id="Tc_wKMUxQmg9k2bt3Ww_OblQA_10_2"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">11740</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="2"
      id="Tc_vrxGycoZ1k-3iD8KDO6FSQ_10_5"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">13.59</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tc_LBcqCJWVeUWow6-v1_NPsw_10_7">P2Y4M13D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_5HoXzHTvP02_yJ7x9IzrwA_10_10"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">14534</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <cwco:ClosingPriceOfCommonShares
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="2"
      id="Narr_ap3PUi21sESf_Qt5r1wwsA"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">14.80</cwco:ClosingPriceOfCommonShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="INF"
      id="Narr_oeIPr4Txg0mW04FZgvNKSQ"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">11740</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="2"
      id="Narr_7FAJSAB0lEKLpEnOenhaKw"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">13.59</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <cwco:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonVestedOutstandingWeightedAverageRemainingContractualTerm
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_jLe-bN05zUK3EI6TdnkmEw">P2Y4M13D</cwco:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonVestedOutstandingWeightedAverageRemainingContractualTerm>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityTypeAxis_us-gaap_EmployeeStockOptionMember_LeMarUzIOEWFkjFGt8_imw"
      decimals="0"
      id="Narr__q0lQH4zN0mnIn1aMLWu9g"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">23609</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Narr_7MF7wCjxL0imve1KXaryjQ">P2Y4M13D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_5pw7bB43ykqMi9vI21UqPQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Options granted with an exercise price below market price on the date of grant:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Employees &#x2014; preferred stock&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5.58&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.71&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Overall weighted average&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5.58&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.71&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Options granted with an exercise price at market price on the date of grant:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Management employees&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Employees &#x2014; common stock&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4.32&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.89&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Overall weighted average&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4.32&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.89&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Options granted with an exercise price above market price on the date of grant:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Management employees&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Employees &#x2014; preferred stock&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Overall weighted average&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total intrinsic value of options exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 17,158&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,876&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_BelowMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_U8fmxZfreESzGZVveNylig"
      decimals="2"
      id="Tc_c66VHWhptUWnuSJgnZvykw_3_3"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">5.58</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_BelowMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_aldM8JOXXUO7FpoAU_IGRw"
      decimals="2"
      id="Tc_BYXnHB8y00O-IewJ2JdKbA_3_6"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">3.71</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_BelowMarketPriceMember_84bejj63qkSkKybWqZzt3Q"
      decimals="2"
      id="Tc_9LgI6f_I60WcEaV-eyseqw_4_3"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">5.58</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_BelowMarketPriceMember_55Qtr8My8EeW1Yd89VExIA"
      decimals="2"
      id="Tc_MZmQ9wgEWEmJgjS5zN511Q_4_6"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">3.71</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_TitleOfIndividualAxis_cwco_ManagementEmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_oEXCb0pyBU6wJ7xtjQONbQ"
      decimals="0"
      id="Tc_dgKxs-V0nUKGVJXMjD5aXA_7_3"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_TitleOfIndividualAxis_cwco_ManagementEmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_4WIqsqu0lUyymfxmXWjHQg"
      decimals="0"
      id="Tc_7jn-dhu8gUCK-AdBoaEvZw_7_6"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_uc9G2doOAk6gDMGKHi2OBA"
      decimals="2"
      id="Tc_CLsIWYz76UayJnnPIuexnQ_8_3"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">4.32</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_pJUE9bi3HEmmDAZpDfwiXA"
      decimals="2"
      id="Tc_NGwWb94vg0axJIzJnMKUsA_8_6"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">2.89</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_GMWLzigV10uKU4FXNJ-JqA"
      decimals="2"
      id="Tc_Dme2X6iH-0Gmt4ni4j9jkQ_9_3"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">4.32</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AtMarketPriceMember_51BWjSPjyEWDqgxj1vA0-g"
      decimals="2"
      id="Tc_5dH9XZ7GLE-aFWCZuQAg6A_9_6"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">2.89</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_TitleOfIndividualAxis_cwco_ManagementEmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_oozbxK7VOEWkjdc9vd9Fjw"
      decimals="0"
      id="Tc_d83sHPBI6U6RR2kHRnrGsg_12_3"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_TitleOfIndividualAxis_cwco_ManagementEmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_X2_WIujCSEyrHmh5KI2wtA"
      decimals="0"
      id="Tc_2EZZfeHQ2k6NC-GS45KSvg_12_6"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_dNnvrkzTnEiILpSof4P2WQ"
      decimals="0"
      id="Tc_Kmx7aRnxtk-hqmKG8Zh6NA_13_3"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_TitleOfIndividualAxis_cwco_EmployeesMember_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_CGdTQbI4FkKOsl6kFYRxNg"
      decimals="0"
      id="Tc_-yYwYhZDEkOKtQkbM_vFVw_13_6"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_4Cs5yVrAU02Ko9yUPxYmog"
      decimals="0"
      id="Tc_-0gUQc7G20q0AEZNSPGN-w_14_3"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_cwco_AboveMarketPriceMember_gOE3r0UpzE2QI5wMkGJciw"
      decimals="0"
      id="Tc_8rjbStWIsU-3SkVFiTvyIw_14_6"
      unitRef="Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_A6bCVHNFwECGrcTJ7SYFnw_16_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">17158</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_brtG_ayO-Eu7Hd85XFNaRg_16_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">7876</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_-o2zEQaSHkqorN6pHkRDrg"
      id="Narr_btNamH8mRkqAe6nw0mOFYw">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_-o2zEQaSHkqorN6pHkRDrg"
      decimals="INF"
      id="Narr_r9482RSpCU-p2NKel5kyNQ"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">32265</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_TLtZahT8OESWkwJywg0TxQ"
      decimals="INF"
      id="Narr_ncEokc7Wj0WH50qKeAThtw"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">26403</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:StockGrantedDuringPeriodValueSharebasedCompensation
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_-o2zEQaSHkqorN6pHkRDrg"
      decimals="INF"
      id="Narr_YXOZxMnslESOQVlERq73Jw"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">23411</us-gaap:StockGrantedDuringPeriodValueSharebasedCompensation>
    <us-gaap:StockGrantedDuringPeriodValueSharebasedCompensation
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_TLtZahT8OESWkwJywg0TxQ"
      decimals="INF"
      id="Narr_h4Q1RT0SBE-vdtx5BybM8w"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">25789</us-gaap:StockGrantedDuringPeriodValueSharebasedCompensation>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_-o2zEQaSHkqorN6pHkRDrg"
      decimals="0"
      id="Narr_HRiwcshlQEydzTZ1GLIvHw"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">325270</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_TLtZahT8OESWkwJywg0TxQ"
      decimals="0"
      id="Narr_gAUqeI_11kaaFWWqRiAt-A"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">306250</us-gaap:AllocatedShareBasedCompensationExpense>
    <cwco:ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_-o2zEQaSHkqorN6pHkRDrg"
      id="Narr_tjjMLH48DEuDTRt18b4WPQ">P3Y</cwco:ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod>
    <cwco:ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonperformancebasedGrantsMember_-o2zEQaSHkqorN6pHkRDrg"
      id="Narr_W2yKWkFcGUKEaoeB4Av7iw">P3Y</cwco:ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_PerformancebasedGrantsMember_V-Wlg5yZHkqFDTqJViFW7A"
      decimals="0"
      id="Narr_H3amGcnmw0GxoIeM68DGJg"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">335964</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_PerformancebasedGrantsMember_WkphmXfbEEGIfdh9g_0VTg"
      decimals="0"
      id="Narr_4zq0N-Hq_E2AUTWiuhPJxA"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">214675</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_PerformancebasedGrantsMember_V-Wlg5yZHkqFDTqJViFW7A"
      decimals="INF"
      id="Narr_czzYK7qFWUOdwSu7EH9gwg"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">13797</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <cwco:ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_PerformancebasedGrantsMember_V-Wlg5yZHkqFDTqJViFW7A"
      id="Narr_Wj7MpDir0ECEDQOMQkGyQQ">P3Y</cwco:ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_PerformancebasedGrantsMember_WkphmXfbEEGIfdh9g_0VTg"
      decimals="INF"
      id="Narr_Fa2LHQlEHUmO8hvNGO1YQA"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">18419</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <cwco:ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      id="Narr_A32gbX0Q2kiWH5iu7E0iWA">P3Y</cwco:ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonExecutiveDirectorsSharePlanMember_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_a0Iiqpr9Akydno-GPTlkMw"
      decimals="INF"
      id="Narr_zz24Velw7ESo4f4TUJp7hw"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">30767</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_NonExecutiveDirectorsSharePlanMember_iPB0rpgeFUGXw4ePaRVNTQ"
      decimals="INF"
      id="Narr_QwcoRTfJOkmmM8oaqx43Ug"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">30911</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_cwco_NonExecutiveDirectorsSharePlanMember_-Bt7YAbgJUy0saiAWkoilA"
      decimals="0"
      id="Narr_ItS1y_yZVEqmbNc7Sv82cw"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">369678</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_cwco_NonExecutiveDirectorsSharePlanMember_iPB0rpgeFUGXw4ePaRVNTQ"
      decimals="0"
      id="Narr_yv0wqlfWHUazbbHddjF-Jg"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">319002</us-gaap:ShareBasedCompensation>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_xZERGVLqDE-y0X2wKK_1Vg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;17. Retirement benefits&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Retirement plans are offered to all employees in California, Florida, the Cayman Islands and The Bahamas. The plans are administered by third parties and are defined contribution plans pursuant to which the Company matches participating employees&#x2019; contributions up to certain amounts. The Company matches contributions of up to 5% of a maximum salary amount of $104,400 for Cayman Islands employees, fully matches all contributions made by employees in The Bahamas, and matches contributions of up to&#160;6% of salary for Florida employees. For California employees, the Company matches contribution amounts up to 2% of the employee's salary and matches 25% of contributions above this 2% threshold, up to 10% of the employee&#x2019;s salary. The Company&#x2019;s expense for these plans was $624,798 and $584,278 for the years ended December 31, 2022 and 2021, respectively&lt;span style="color:#00b050;"&gt;.&lt;/span&gt;&lt;/p&gt;</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent
      contextRef="Duration_1_1_2022_To_12_31_2022_cwco_RetirementPlanAxis_country_KY_oKOWIjfHuEKj9Yn2V7stfA"
      decimals="4"
      id="Narr_L2AaSy-QqkiOkBStac_lkA"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.05</us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent>
    <us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount
      contextRef="Duration_1_1_2022_To_12_31_2022_cwco_RetirementPlanAxis_country_KY_oKOWIjfHuEKj9Yn2V7stfA"
      decimals="0"
      id="Narr_iSDezlzcN0eTMKnBu9Z2OA"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">104400</us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount>
    <us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent
      contextRef="Duration_1_1_2022_To_12_31_2022_cwco_RetirementPlanAxis_stpr_FL_DKqplJkX-EWxKCap_J3jKw"
      decimals="2"
      id="Narr_RygUrlAZvEawd6gpTvKuTQ"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.06</us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent
      contextRef="Duration_1_1_2022_To_12_31_2022_cwco_RetirementPlanAxis_stpr_CA_98NNUc1ilECucy-49BuTuw"
      decimals="2"
      id="Narr_wac1dKfF_EaOtwFE5sfSDg"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.02</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="Duration_1_1_2022_To_12_31_2022_cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis_cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember_cwco_RetirementPlanAxis_stpr_CA_OHPJx1cwnk6tGqUNUKaP2w"
      decimals="2"
      id="Narr_BlPv5NlLr061cgV-nFGwGg"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.25</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent
      contextRef="Duration_1_1_2022_To_12_31_2022_cwco_RetirementPlanAxis_stpr_CA_98NNUc1ilECucy-49BuTuw"
      decimals="2"
      id="Narr_x6e9e4UgFEyJ6nsm00IvIg"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.02</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="Duration_1_1_2022_To_12_31_2022_cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis_cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember_cwco_RetirementPlanAxis_stpr_CA_srt_RangeAxis_srt_MaximumMember_EjJiUeYjPESXBUAtMfRLxA"
      decimals="2"
      id="Narr_XFsTwGtR-E2d7jjFtPiZgg"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.10</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:PensionExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Narr_OtNvfYDXq0mp8iasyy2pqg"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">624798</us-gaap:PensionExpense>
    <us-gaap:PensionExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Narr_IPc7zkj_Y0WbSeV5T9CHVQ"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">584278</us-gaap:PensionExpense>
    <us-gaap:FinancialInstrumentsDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_HDzmRdqctE-IL4dt4gKZxw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;18. Financial instruments&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;Credit risk:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The Company is not exposed to significant credit risk on its retail customer accounts as its policy is to cease supply of water to customers&#x2019; accounts that are more than &lt;span style="-sec-ix-hidden:Hidden_OHWW8FktBkWbXDZJp9x7Wg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;45&#160;days&lt;/span&gt;&lt;/span&gt; overdue. The Company&#x2019;s exposure to credit risk is concentrated &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;on receivables from its bulk water, services, and manufacturing customers. The Company considers these receivables fully collectible and therefore has not recorded an allowance for these receivables.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;Interest rate risk:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company is not subject to significant interest rate risk arising from fluctuations in interest rates.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;Foreign exchange risk:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;All relevant foreign currencies other than the Mexican peso and the euro have been fixed to the dollar for more than &lt;span style="-sec-ix-hidden:Hidden_Ceex_SV_NkSWydyqJQLXFg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;20&#160;years&lt;/span&gt;&lt;/span&gt; and as a result, the Company does not employ a hedging strategy against exchange rate risk associated with the reporting in dollars. If any of these fixed exchange rates becomes a floating exchange rate or if any of the foreign currencies in which the Company conducts business depreciate significantly against the dollar, the Company&#x2019;s consolidated results of operations could be adversely affected.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;Fair values:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;As of December&#160;31, 2022 and 2021, the carrying amounts of cash equivalents, accounts receivable, accounts payable, accrued expenses, accrued compensation, dividends payable and other current liabilities approximate their fair values due to the short-term maturities of these instruments.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Under US GAAP, fair value is defined as the exit price, or the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants as of the measurement date. US GAAP guidance also establishes a hierarchy for inputs used in measuring fair value that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that the most observable inputs be used when available. Observable inputs are inputs market participants would use in valuing the asset or liability and are developed based on market data obtained from sources independent of the Company. Unobservable inputs are inputs that reflect the Company&#x2019;s assumptions about the factors market participants would use in valuing the asset or liability. The guidance establishes three levels of inputs that may be used to measure fair value:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-align:justify;text-indent:-36pt;margin:0pt 0pt 12pt 54pt;"&gt;Level 1&#160;- Quoted prices in active markets for identical assets or liabilities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-align:justify;text-indent:-36pt;margin:0pt 0pt 12pt 54pt;"&gt;Level 2&#160;- Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-align:justify;text-indent:-36pt;margin:0pt 0pt 12pt 54pt;"&gt;Level 3&#160;- Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Assets and liabilities are classified in their entirety based on the lowest level of input that is significant to the fair value measurements. The Company reviews its fair value hierarchy classifications on a quarterly basis. Changes in the observability of valuation inputs may result in a reclassification of levels for certain securities within the fair value hierarchy.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The following table presents the Company&#x2019;s fair value hierarchy for assets and liabilities measured at fair value as of December&#160;31, 2022 and 2021:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:53.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:53.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:45.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:53.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level&#160;1&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level&#160;2&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level&#160;3&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:53.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Assets:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:53.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Recurring&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:53.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Certificate of deposit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:53.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Net asset arising from put/call options&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:53.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:53.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:45.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:53.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level&#160;1&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level&#160;2&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level&#160;3&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:53.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Assets:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:53.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Recurring&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:53.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Certificate of deposit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,500,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,500,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:53.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Net asset arising from put/call options&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 128,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 128,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The activity for the Level 3 asset for the&#160;year ended December&#160;31, 2022:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net asset arising from put/call options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance as of December&#160;31,&#160;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 128,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Exercise of option&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (128,000)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance as of December&#160;31,&#160;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The put/call options are reported at fair value at their net asset or liability balance in the consolidated balance sheets. The underlying asset and liability fair values are calculated using discounted cash flow analysis valuation techniques that incorporate unobservable inputs, such as future cash flows, weighted-average cost of capital, and expected future volatility. The inputs to these valuations are considered Level 3 inputs.&lt;/p&gt;</us-gaap:FinancialInstrumentsDisclosureTextBlock>
    <us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_JnGYG5RtnU6hNA8cLRHYSw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:53.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:53.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:45.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:53.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level&#160;1&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level&#160;2&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level&#160;3&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:53.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Assets:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:53.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Recurring&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:53.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Certificate of deposit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:53.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Net asset arising from put/call options&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:53.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:53.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:45.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:53.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level&#160;1&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level&#160;2&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level&#160;3&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:53.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Assets:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:53.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Recurring&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:53.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Certificate of deposit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,500,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,500,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:53.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Net asset arising from put/call options&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 128,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 128,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
      contextRef="As_Of_12_31_2021_us-gaap_FairValueByAssetClassAxis_us-gaap_CertificatesOfDepositMember_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_sPBH5R3JWkKvlSheo55J9g"
      decimals="0"
      id="Tc_-x4JeiLi6kiytux3QIFOUA_5_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2500000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
      contextRef="As_Of_12_31_2021_us-gaap_FairValueByAssetClassAxis_us-gaap_CertificatesOfDepositMember_VU-7yE45pEW9Wn-NHJPF7g"
      decimals="0"
      id="Tc_DqK5A-T4xk6CxFTiaTDMTw_5_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2500000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
      contextRef="As_Of_12_31_2021_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_ghdFbST_AUCaVYhxmTxIfg"
      decimals="0"
      id="Tc_Y-Pllpm8u0Glq8QOfK2k4A_6_9"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">128000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_seuekhjyVUSeGJIYHInc-Q_6_12"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">128000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue>
    <us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_Sao62Surv0SiAgVsHNyzWw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net asset arising from put/call options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance as of December&#160;31,&#160;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 128,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Exercise of option&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (128,000)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance as of December&#160;31,&#160;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_k35rwWHwbkKIV1QXfm7Pkw_2_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">128000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_s5q-6Z3Cv0OEKG3GYnbHag_3_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">-128000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc_8JngVg2Ah02lvXdtgJth1Q_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_hDBv0t9Oj0Oup0ZzM8OhfQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;19. Commitments and contingencies&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;Commitments&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company has entered into employment agreements with certain executives, which expire through December&#160;31, 2025 and provide for, among other things, base annual salaries in an aggregate amount of approximately $4.2 million, performance bonuses and various employee benefits.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company has purchase obligations totaling approximately $41.7 million through December 31, 2023.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;padding-bottom:12pt;text-align:justify;margin:0pt;"&gt;Contingencies&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;background:#ffffff;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Cayman Water&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The Company sells water through its retail operations under a license issued in July 1990 by the Cayman Islands government (the &#x201c;1990 license&#x201d;) that granted Cayman Water the exclusive right to provide potable water to customers within its licensed service area. Although the 1990 license was not expressly extended after January 2018, the Company continues to supply water under the terms of the 1990 license, as discussed in the following paragraphs. Pursuant to the 1990 license, Cayman Water has the exclusive right to produce potable water and distribute it by pipeline to its licensed service area, which consists of two of the three most populated areas of Grand Cayman Island: Seven Mile Beach and West Bay. In 2022 and 2021, the Company generated approximately 27% and 33%, respectively, of its consolidated revenue and 44% and 47%, respectively, of its consolidated gross profit from the retail water operations conducted under the 1990 license.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The 1990 license was originally scheduled to expire in July 2010 but was extended several times by the Cayman Islands government in order to provide the parties with additional time to negotiate the terms of a new license agreement. The most recent express extension of the 1990 license expired on January 31, 2018. The Company continues to operate under the terms of the 1990 license, providing water services to the level and quality specified in the 1990 license and in accordance with its understanding of its legal obligations, treating those obligations set forth in the 1990 license as operative notwithstanding the expiration of the express extension. The Company continues to pay the royalty of 7.5% of revenue it collects required under the 1990 license.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;In October&#160;2016, the Government of the Cayman Islands passed legislation which created a new utilities regulation and competition office (&#x201c;OfReg&#x201d;). OfReg is an independent and accountable regulatory body with a view of protecting the rights of consumers, encouraging affordable utility services and promoting competition. OfReg, which began operations in January&#160;2017, has the ability to supervise, monitor and regulate multiple utility undertakings and markets. Supplemental legislation was passed by the Government of the Cayman Islands in April&#160;2017, which transferred responsibility for economic regulation of the water utility sector and the negotiations with the Company for a new retail license from the WAC to OfReg in May&#160;2017. The Company began license negotiations with OfReg in July&#160;2017 and such negotiations are ongoing. The Company has been informed during its retail license negotiations, both by OfReg and its predecessor in these negotiations, that the Cayman Islands government seeks to restructure the terms of its license in a manner that could significantly reduce the operating income and cash flows the Company has historically generated from its retail license.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company is presently unable to determine what impact the resolution of its retail license negotiations will have on its consolidated financial condition or results of operations but such resolution could result in a material reduction (or the loss) of the operating income and cash flows the Company has historically generated from Cayman Water&#x2019;s retail operations and could require the Company to record impairment losses to reduce the carrying values of its retail segment assets. Such impairment losses could have a material adverse impact on the Company&#x2019;s consolidated financial condition and results of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="text-decoration-line:underline;text-decoration-style:solid;"&gt;CW-Bahamas&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;CW-Bahamas&#x2019; accounts receivable balances (which include accrued interest) due from the WSC amounted to $16.3 million and $21.5 million as of December 31, 2022 and 2021.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;From time to time, CW-Bahamas has experienced delays in collecting its accounts receivable from the WSC. When these delays occur, the Company holds discussions and meetings with representatives of the WSC and The Bahamas government, and as a result, payment schedules are developed for WSC&#x2019;s delinquent accounts receivable. All previous delinquent accounts receivable from the WSC, including accrued interest thereon, were eventually paid in full. Based upon this payment history, CW-Bahamas has never been required to provide an allowance for doubtful accounts for any of its accounts receivable, despite the periodic accumulation of significant delinquent balances.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;In February 2022, CW-Bahamas received correspondence from the Ministry of Finance of the Government of The Bahamas that stated that the Government intends to return all of CW-Bahamas&#x2019; accounts receivable from the WSC to current status.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;In its latest report dated October 6, 2022, Moody&#x2019;s Investor Services (&#x201c;Moody&#x2019;s&#x201d;) downgraded the Government of The Bahamas&#x2019; long-term issuer and senior unsecured ratings to B1 from Ba3. Moody&#x2019;s also lowered The Bahamas&#x2019; local currency ceiling to Baa3 from Baa2 and its foreign currency ceiling to Ba1 from Baa3. Based upon its review of this Moody&#x2019;s report, the Company continues to believe no allowance for doubtful accounts is required for CW-Bahamas&#x2019; accounts receivable from the WSC.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="font-weight:normal;"&gt;If CW-Bahamas continues to be unable to collect a significant portion of its delinquent accounts receivable, one or more of the following events may occur: (i)&#160;CW-Bahamas may not have sufficient liquidity to meet its obligations; (ii)&#160;the Company may be required to cease the recognition of revenue on CW-Bahamas&#x2019; water supply agreements with the WSC; and (iii)&#160;the Company may be required to provide an allowance for doubtful accounts for CW-Bahamas&#x2019; accounts receivable. Any of these events could have a material adverse impact on the Company&#x2019;s consolidated financial condition, results of operations, and cash flows.&lt;/span&gt;&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <cwco:EmploymentAgreementBaseAnnualSalaries
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="-5"
      id="Narr_7RWGP65v30K2R1z7Gcho4w"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">4200000</cwco:EmploymentAgreementBaseAnnualSalaries>
    <us-gaap:LongTermPurchaseCommitmentAmount
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_O-UnVApJ9ESzxllq2JlKMQ"
      decimals="-5"
      id="Narr_LSotOlsesEatc3mjajBKEg"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">41700000</us-gaap:LongTermPurchaseCommitmentAmount>
    <cwco:CaymanWaterRetailOperationsPercentageOfRevenue
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="2"
      id="Narr_5SDFLes9pEyINCjgk_RXEg"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.27</cwco:CaymanWaterRetailOperationsPercentageOfRevenue>
    <cwco:CaymanWaterRetailOperationsPercentageOfRevenue
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="2"
      id="Narr_SESw0U1FWUKZkMEC-mFhNQ"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.33</cwco:CaymanWaterRetailOperationsPercentageOfRevenue>
    <cwco:CaymanWaterRetailOperationsPercentageOfGrossProfit
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="2"
      id="Narr_WqcpKyuyF0KmIZ0QhRl69A"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.44</cwco:CaymanWaterRetailOperationsPercentageOfGrossProfit>
    <cwco:CaymanWaterRetailOperationsPercentageOfGrossProfit
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="2"
      id="Narr__PRPIS3C4kq5LiW_jI_gug"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.47</cwco:CaymanWaterRetailOperationsPercentageOfGrossProfit>
    <us-gaap:AccountsReceivableNet
      contextRef="As_Of_12_31_2022_srt_MajorCustomersAxis_cwco_WSCMember_qBKQcLXzfkOhn3zBjmX31Q"
      decimals="-5"
      id="Narr_Ms2kVCcLKkGRDQxhYSTWew"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">16300000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="As_Of_12_31_2021_srt_MajorCustomersAxis_cwco_WSCMember_3t1KGfarBU-BjDelzIMeqw"
      decimals="-5"
      id="Narr_Rf7Anq6g0k-AjTJb7XC9BQ"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">21500000</us-gaap:AccountsReceivableNet>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_SbIG1hlxBEOwJIAwpooghw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;20. Related party transactions&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The Company, through PERC and the services segment, purchases engineering and technology support services from various companies with a minority shareholder who is also a minority shareholder of PERC. During the years ended December 31, 2022 and 2021, the Company made total purchases of services of approximately $2,695,000 and $438,000 from these companies, respectively. These total purchases are included in the Company&#x2019;s cost of revenue in the accompanying consolidated statements of &lt;span style="background:#ffffff;"&gt;income&lt;/span&gt;.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;PERC has entered into a lease agreement with one of these related companies that commenced on March 14, 2021 and ended August 31, 2021. This lease has been extended on a month-to-month basis subsequent to August 31, 2021. During the years ended December 31, 2022 and 2021, the Company recognized approximately $97,000 and $77,000 of expense related to this lease, respectively. This lease expense is included in the Company's general and administrative expenses in the accompanying consolidated statements of income.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;The total amount of accounts payable outstanding to these companies as of December 31, 2022 and 2021, was approximately $404,000 and $164,000, respectively.&lt;/p&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_cwco_PercWaterCorporationMember_iSPiZunAVk6dezcZHWn32w"
      decimals="0"
      id="Narr_S2kLmwDp5EyvAgPMdkgexQ"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2695000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_cwco_PercWaterCorporationMember_jYS-R1U8vU6_Xhm4uPjjeQ"
      decimals="0"
      id="Narr_MxKdPA4N9UK9yGVv_M-MtQ"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">438000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_cwco_PercWaterCorporationMember_iSPiZunAVk6dezcZHWn32w"
      decimals="0"
      id="Narr_dANQjDMqGkWLqUE2zodftw"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">97000</us-gaap:RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty>
    <us-gaap:RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_cwco_PercWaterCorporationMember_jYS-R1U8vU6_Xhm4uPjjeQ"
      decimals="0"
      id="Narr_j44wIcWom0O_LmGl0wAMYw"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">77000</us-gaap:RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty>
    <us-gaap:AccountsPayableRelatedPartiesCurrent
      contextRef="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_cwco_PercWaterCorporationMember_V92CEwDlokyy-KCOgpl1dA"
      decimals="0"
      id="Narr_tpWeeF1VfkaUgcgCu89qAw"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">404000</us-gaap:AccountsPayableRelatedPartiesCurrent>
    <us-gaap:AccountsPayableRelatedPartiesCurrent
      contextRef="As_Of_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_cwco_PercWaterCorporationMember_K_j9JEvI_UO9v1KqTSC8xg"
      decimals="0"
      id="Narr_91rXZ4R1B02rIfQi_dhg3Q"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">164000</us-gaap:AccountsPayableRelatedPartiesCurrent>
    <us-gaap:CashFlowSupplementalDisclosuresTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_s2RSa7k2_k-amlOoFYn2Sw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"&gt;21. Supplemental disclosure of cash flow information&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Interest paid in cash&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 14,797&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,248&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income taxes paid in cash&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 211,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 160,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Non-cash transactions:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Issuance of 9,295 and 8,632, respectively, shares of redeemable preferred stock for services rendered&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 133,197&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 102,203&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Issuance of 72,597 and 88,488, respectively, shares of common stock for services rendered&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 521,016&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 745,468&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Conversion (on a one-to-one basis) of 6,585 and 11,522, respectively, shares of redeemable preferred stock to common stock&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,951&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,913&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Dividends declared but not paid&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,305,367&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,298,148&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Transfers from inventory to property, plant and equipment and construction in progress&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 346,024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 189,924&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Transfers from construction in progress to property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 297,723&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 644,224&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Right-of-use assets obtained in exchange for new operating lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,852,608&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Purchase of equipment through issuance of long-term debt&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 188,645&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 95,707&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:CashFlowSupplementalDisclosuresTextBlock>
    <cwco:ScheduleOfSupplementalDisclosureOfCashFlowInformation
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_qwDVh6yaDkiPclz0ZdrGaw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="color:#00b050;margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Interest paid in cash&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 14,797&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,248&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income taxes paid in cash&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 211,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 160,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Non-cash transactions:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Issuance of 9,295 and 8,632, respectively, shares of redeemable preferred stock for services rendered&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 133,197&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 102,203&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Issuance of 72,597 and 88,488, respectively, shares of common stock for services rendered&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 521,016&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 745,468&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Conversion (on a one-to-one basis) of 6,585 and 11,522, respectively, shares of redeemable preferred stock to common stock&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,951&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,913&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Dividends declared but not paid&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,305,367&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,298,148&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Transfers from inventory to property, plant and equipment and construction in progress&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 346,024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 189,924&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Transfers from construction in progress to property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 297,723&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 644,224&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Right-of-use assets obtained in exchange for new operating lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,852,608&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Purchase of equipment through issuance of long-term debt&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 188,645&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 95,707&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</cwco:ScheduleOfSupplementalDisclosureOfCashFlowInformation>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_ihASPeAGpEybpD_xCugtEg_3_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">14797</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_x-FB7rejX0edBOFVjRNL9w_3_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">10248</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_hZ4JEang_0O28aICum3_DA_4_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">211000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_1tBQGe9BYkeIrP55oPKP6Q_4_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">160000</us-gaap:IncomeTaxesPaidNet>
    <cwco:CommonStockIssuedDuringPeriodValueIssuedForServices
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_2cgc8-j8cUCv6seVGLB6Uw"
      decimals="0"
      id="Narr_YQHV-sFVKEKIWCm_whgjCw"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">9295</cwco:CommonStockIssuedDuringPeriodValueIssuedForServices>
    <cwco:CommonStockIssuedDuringPeriodValueIssuedForServices
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_AjbJjcVS60Oq3_8Jk4K9Og"
      decimals="0"
      id="Narr_-OqQYdryekKn6kvvjMXA6w"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">8632</cwco:CommonStockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssued1
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_2cgc8-j8cUCv6seVGLB6Uw"
      decimals="0"
      id="Tc_IHNsGvGON0OBh7nU6NyanQ_7_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">133197</us-gaap:StockIssued1>
    <us-gaap:StockIssued1
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_AjbJjcVS60Oq3_8Jk4K9Og"
      decimals="0"
      id="Tc_k1QxmP3ejEeBiEaoN5vh4g_7_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">102203</us-gaap:StockIssued1>
    <cwco:CommonStockIssuedDuringPeriodValueIssuedForServices
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonStockMember_ROTuIP-Ci0azhf2ymCxf_g"
      decimals="0"
      id="Narr_fo_ncYHIvkGQvWC8Ua54AQ"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">72597</cwco:CommonStockIssuedDuringPeriodValueIssuedForServices>
    <cwco:CommonStockIssuedDuringPeriodValueIssuedForServices
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonStockMember_fPb33q03cUOApGb1OUAYcA"
      decimals="0"
      id="Narr_JU_JVU5PrU-E5Zs1PY99cQ"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">88488</cwco:CommonStockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssued1
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonStockMember_ROTuIP-Ci0azhf2ymCxf_g"
      decimals="0"
      id="Tc_yxlNwOGqlUSbtj0AL5FqyA_8_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">521016</us-gaap:StockIssued1>
    <us-gaap:StockIssued1
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_CommonStockMember_fPb33q03cUOApGb1OUAYcA"
      decimals="0"
      id="Tc_4gucuoliIEu45qd44Et1pA_8_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">745468</us-gaap:StockIssued1>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_2cgc8-j8cUCv6seVGLB6Uw"
      decimals="INF"
      id="Narr_XQtcM1K2IUifgXBazrLCLg"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">6585</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_AjbJjcVS60Oq3_8Jk4K9Og"
      decimals="INF"
      id="Narr_rYBgAIrzOkOQ6dXOjbO-Aw"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">11522</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_2cgc8-j8cUCv6seVGLB6Uw"
      decimals="0"
      id="Tc_AobSiTSuxEiIBvtrvkviXg_9_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">3951</us-gaap:ConversionOfStockAmountConverted1>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_AjbJjcVS60Oq3_8Jk4K9Og"
      decimals="0"
      id="Tc_ewT5kma_dU6MpJyOAVcc7Q_9_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">6913</us-gaap:ConversionOfStockAmountConverted1>
    <us-gaap:DividendsPayableCurrentAndNoncurrent
      contextRef="As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw"
      decimals="0"
      id="Tc__I63xJBlSU-V3373dRW1vA_10_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1305367</us-gaap:DividendsPayableCurrentAndNoncurrent>
    <us-gaap:DividendsPayableCurrentAndNoncurrent
      contextRef="As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ"
      decimals="0"
      id="Tc_ry2RRohuXE2u75pHcQ5dCg_10_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1298148</us-gaap:DividendsPayableCurrentAndNoncurrent>
    <cwco:TransfersBetweenInventoryAndPropertyPlantAndEquipment
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_7rJ6d-xghEiYzEtGbfZ7kA_11_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">346024</cwco:TransfersBetweenInventoryAndPropertyPlantAndEquipment>
    <cwco:TransfersBetweenInventoryAndPropertyPlantAndEquipment
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_WOmqDkSNzEyR1abnmScGaA_11_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">189924</cwco:TransfersBetweenInventoryAndPropertyPlantAndEquipment>
    <cwco:NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_VIhv0kx8g0OMuT0FufSU4Q_12_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">297723</cwco:NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet>
    <cwco:NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_3OPXSGQEbUG2QXxso85d9Q_12_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">644224</cwco:NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_-tB-FKF99UOtlPaE5vFc_A_13_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">0</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_H_o50OU9jEOYPErxk5xFpQ_13_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">1852608</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      decimals="0"
      id="Tc_ftwsI78e_kOurXnHc5gC8w_14_3"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">188645</us-gaap:DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction>
    <us-gaap:DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA"
      decimals="0"
      id="Tc_QgnrFzNUxE6t3vjHcgJO4w_14_6"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">95707</us-gaap:DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction>
    <us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_-gr9R8xRMUOcnDv7RbFIrg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;22. Impact of recent accounting standards&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"&gt;Adoption of new accounting standards:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;None.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Effect of newly issued but not yet effective accounting standards:&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;&lt;span style="margin-bottom:12pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;None.&lt;/p&gt;</us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g"
      id="Tb_bJpl4XI5aUiXI_EAe_rkiQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;23. Subsequent events&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;The Company evaluated subsequent events through the time of the filing of its Annual Report on Form&#160;10-K. Other than as disclosed in these consolidated financial statements, the Company is not aware of any significant events that occurred subsequent to the balance sheet date but prior to the filing of this report that would have a material impact on its consolidated financial statements.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="background:#ffffff;"&gt;On January 4, 2023, as a result of CW-Holdings' exercise of a call option in October 2022, CW-Holdings purchased the remaining&#160;&lt;/span&gt;&lt;span style="background:#ffffff;"&gt;39%&lt;/span&gt;&lt;span style="background:#ffffff;"&gt; ownership interest in PERC for &lt;/span&gt;&lt;span style="background:#ffffff;"&gt;$2.4&lt;/span&gt;&lt;span style="background:#ffffff;"&gt; million&#160;in cash and &lt;/span&gt;&lt;span style="background:#ffffff;"&gt;368,383&lt;/span&gt;&lt;span style="background:#ffffff;"&gt; shares of the Company&#x2019;s common stock. After giving effect to this purchase, CW-Holdings owns&#160;&lt;/span&gt;&lt;span style="background:#ffffff;"&gt;100%&lt;/span&gt;&lt;span style="background:#ffffff;"&gt; of the outstanding capital stock of PERC.&lt;/span&gt;&lt;/p&gt;</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="As_Of_1_4_2023_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember__4drtsrZXESsUSyeQaBULg"
      decimals="2"
      id="Narr_yYKhn-v2Y0WhI5KiACL-tw"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">0.39</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="Duration_1_4_2023_To_1_4_2023_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_yOgK1SLiHkOOenJfWHS0YA"
      decimals="-5"
      id="Narr_-V5aL1PR_06jnWFqNvIM-Q"
      unitRef="Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA">2400000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="Duration_1_4_2023_To_1_4_2023_us-gaap_BusinessAcquisitionAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_yOgK1SLiHkOOenJfWHS0YA"
      decimals="INF"
      id="Narr_M8uTzRkb10awqWkoYLmBzg"
      unitRef="Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg">368383</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_1_4_2023_srt_OwnershipAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_5JH0iRvD3EWeoHNXQ5FD9g"
      decimals="2"
      id="Narr_EqzEDjSGbkKDeYd8RPxY_Q"
      unitRef="Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg">1</us-gaap:MinorityInterestOwnershipPercentageByParent>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>112
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M?!^2!F.,6_0T7X\48JVFL:W&VC$,>8!8\PRA9CC?AT6:&C/5BZPYC0IO0=5
MY3_;U UH]@TT')$%7C&9MC:CY$X*/-S^[PVPPL2.X>V+OP%02P,$%     @
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
M/&VX>6/TJG]@[U$;HZO^Y5+E<'TZ _C_0FOS[4WW#.#PS.?E_P!02P,$%
M  @ FXI^5C^^95L[ P   0T  !@   !X;"]W;W)K<VAE971S+W-H965T,RYX
M;6RMEVMOVC 4AO^*E4U3)W7D'J #)$H[M5)O*MWV8=H'DQQ(5"?.; /=?OWL
MA*:D24-HRP>(DW-YWL#+<09KRNYY""#00TP2/M1"(=(C7>=^"#'F'9I"(J_,
M*8NQD$NVT'G*  =94DQTRS \/<91HHT&V;D;-AK0I2!1 C<,\64<8_;W& A=
M#S53>SQQ&RU"H4[HHT&*%S %\3V]87*E%U6"*(:$1S1!#.9#;6P>34Q')601
M/R)8\ZUCI*3,*+U7B_-@J!F*" CX0I7 \F,%$R!$59(<?S9%M:*G2MP^?JS^
M+1,OQ<PPAPDE/Z- A$.MIZ$ YGA)Q"U=G\%&D*OJ^93P[!VM\UA/=O277-!X
MDRS7<93DG_AA<R.V$J30^@1KDV"U3; W"78F-"?+9)U@@4<#1M>(J6A931UD
M]R;+EFJB1'V-4\'DU4CFB='D^FIZ?7%^,KX[/4''XXOQU>043<].3^^FZ. &
M,TA$""+R,?F,OJ"/2$<\E&?Y0!>RNZJA^YM.QWDGZX5.)^!WD&T>(LNPK)KT
M2?MTLYRN2\V%<*L0;F7UG!?JW4( TA$S DC^_N? & 1(WF[__A"EF*$5)DM
M!U&" DH(9AREP'+QG^O$Y]VZ63?EG=7(Z'@#?;6ML#FF),,N9-BOEH&7(J0L
M^@=!'7!>U]V"D=:7KV?,.\-*V$Z![;P:.^)\68_L5%ALQ^[9SXBK45;/L]UZ
M8+< =E\-+/\=N<!)$"6+.FJW%74UJH':*ZB]1NH)C6/Y7SDAF',T1K\N(9X!
M^UU'V5A(#9,CGF(?AIJ4SX&M0!M]^F!ZQM<Z*[]3L9+F;J&YVT;S&ZS<;6'E
MYI@2>*\ [^T!WFS>7O77XGBN6[5OB\ 2;+^ [>\!^[)E^Y7^IFM;5J_K/@.M
M"[0<V^O;]:"F\33AC#U0=YAU4ZL%<&UD(_'63#;;V_:XT;;-E?;U[7M5*^M^
M&LEF\TQ^NW7--F-X1U 9_FD0F\V3>!_[FM6I:CHU[MT=5X9]&K]F\_QM:U^S
M.DPKC$TA.9Z^M3]5#P>7F"VBA","<YEC=+HRF>7[[7PA:)IM66=4R UP=AC*
M9Q1@*D!>GU,J'A=J%UP\]8S^ U!+ P04    " ";BGY6,RHEG"D'  "['@
M&    'AL+W=O<FMS:&5E=',O<VAE970T+GAM;,59VV[;.!#]%<);+%(@B7G5
M)9L8:)QT-T#;!$W:/BL6'0O5Q97H)/W['4J*98L4'2\"[(LO].'X#(<S9RB>
M/A7ESVHAI4+/69I79Z.%4LN3\;B:+6065<?%4N;PR[PHLTC!U_)A7"U+&<7U
MI"P=4XR]<18E^6AR6H_=E)/38J72))<W):I661:5O\]E6CR=C<CH9>!K\K!0
M>F \.5U&#_)6JF_+FQ*^C==6XB23>944.2KE_&ST@9Q,F:<GU(COB7RJ-CXC
M[<I]4?S47Z[BLQ'6C&0J9TJ;B.#M44YEFFI+P.-7:W2T_D\]<?/SB_6/M?/@
MS'U4R6F1_DABM3@;!2,4RWFT2M77XND?V3HDM+U9D5;U*WIJL7B$9JM*%5D[
M&1AD2=Z\1\_M0FQ,(-[ !-I.H/T)?& ":R>PVM&&6>W61:2BR6E9/*%2H\&:
M_E"O33T;O$ER'<9;5<*O"<Q3D^GUE]OK3U<7'^XN+]#M';Q]OOQR=XNN/Z*K
M+]/KSY?H"'V[O4 '[]Z?CA7\H9XVGK7&SQOC=, XH>ASD:M%A2[S6,;;!L;
M=$V7OM ]ITZ+%W)VC!@Y1!13:B$T??UTXJ##UJO':GOLOZZ>;<T:D]QN4J?M
M2;6,9O)L!'E9R?)1CB9__D$\_)?-WS<RMN4]7WO/7=8G7^6CS%?2YF,ST:LG
MZDKR. DYP3ST(6B/F_Q-H.<%'A.X VYQ$VMNPLEM6E0*%7.H-#5'=)#DLW05
M)_D#6J[*V0(ROT+SLL@ D49*QF@9E2J!09CTCAYZ(3\,"$9)7F\U%.4Q>L>9
M?Q@(OQTDUHQH:(E-AYC/PX"'/<]-(&=,>(P0N^?>VG//Z?G?95%5:%D6\T39
M"'K&_S+,A""4]0B:0 IQ\4DX0-!?$_3=!&4NRRBMES2*H:8EE2HC7<V1? 9Y
MTI'9+URA=QA2OATKWS\D(7:&RC<=)-C'E/'>2IA $L!2,!':5R)8KT3@7(E/
M.E):RZH*!#M.JF51)5K=JMJ')%M&20F:J:I#E$MK- .#VA&A/NY[8($QPD7
M/+L'X=J#T.G!53XK,ME$!EH+'49@;R,:&@Q"ZE,2B!Y3$T<QP6$X0)3@3NBP
MLU9?JX4L83_4A _:G?;^Q*IJ^"U+]%M9V_9[0^#)CA I"795Z[K57V+6(NZ3
MP.O%QH+S A[@@30@M.-(7\>Q#8N5)#7W,/<$[V\@&XY@RH,!DIW6$Z>83F[J
MDGI4+:)2UZ5D8^M?3X_.OU]963-S/WN,&J0M,$I],<"Y4VCBENC+7ZM$_=95
M$'8_DE&9 _6Z:#HH<X.++T*,^Y1-F!"@<P.4.^$F;N7^ J7P <X?Z""%\OA>
MU\?E2HUG49I"B1FL+\344ZB$ 39YF\" ;.&VB7>Z2]S"6Q<8*S5328,PY/T:
M;8$)Z@_N@4YNB5MO-PO?H(X04^.XQZ$#ZI.T:*$'?4$X1+/30N(6PU9*[B6<
M3>5+=JGH6=K#;2I:Z#,O#(W,,H',8UP,=3&DDS[BUCZH!X])?9P]N(>6!FK#
M>P3<=U,W)8Z%GL_Z#:(%=P1E.0P&6F/:22%U2DZ=8IOE:P:'M"1?Z:KF%O'6
M[M:J,XZIZ"N%!<AQ0(7/!KAW<D9WR=D.WBA2JDSN5RJZ3R$*!<J+_$@CRR)-
MF\+=B(W=0U/B""$T)/WNV *$NAZ2@3R@G192MQ:^*CB&DU,8+-(DKGOC'_!:
MPM Q^J3B8U2I8O9S4:2Q+.T^FXH9@/@P;OAL AGGH2<&M)5VVDK=VGI7*#@1
MZ(+?. V]<.LWN+-C3YK2>429KT^;??HVI/ Y]@<:&-KI+'7K[$;0WC0RYO%8
M!,*C85\[+,# %V+0L4Z-J7!VS>=1E<RZQJ'59 @([,LL@]JGVZ']G'Z9N,MW
M9YNP;Q/^5M:VE['K#:B[-YB^NL(V=OR-0.)C883;AJ)#M;7K%*B[4[C8(^L:
M2\%F+N%C8NB '>8/,.V:!>IN%GK;4N_'>B-:J08&!WS,@CY3&PH/G#IIUR30
MT)D_%TFZTCGPOV20LW_9.X/>R-KV@]:N9V'NGN75&=3:"=P99$4-91#KNA/F
M[D[VR*#6TJX,&H -9!#KV@SF;C.,C>G,H=;8CARRHH9RB&T\9'<W!Q?)8Q++
M/*Y0+&<I,(PWTT<_*8,A*;,Z=6#SS66I,;4S]J5GEO)I//7;A=KVIFL5&'=6
MA!_US1+PBQYA>SQ(E*^R>W 'SN2;!:%"JPI [<D]EE  LB2OMQ- K8^MF+-'
MV?MFX8VL;2]3UW@P]V. ?2H\,X_T1- 0"]QO >U(P@(RM$L[B6=NB=\SH<S#
M/A$<$T_TFVXKDA%,>/^H,=ZX!LQD^5#?CE:PJU:Y:J[8UJ/K&]@/];UC;_R<
MG$R;>]3.3'.M^SDJ'Q(X?J1R#B;QL0^TRN:FM/FBBF5]V7A?*%5D]<>%C$"A
M- !^GQ>%>OFB_V!]7SWY%U!+ P04    " ";BGY6?AWHQ*D"  !7!P  &
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
MPH:5TL&34>Q2#\@'82$*/6%K91$AD(G;!T$DE%6$2(K$&J,A>&M-P>F*NU)
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
MY:OZ<BE"*(.E /Q_GN?5^XU\07<T__)_4$L#!!0    ( )N*?E83<)[?J ,
M %P(   8    >&PO=V]R:W-H965T<R]S:&5E=#@N>&ULI59M;]LV$/XK!Q4H
M5L"S;"7MLL0V4+L;5F %@F9M/]/B22)*D2I)V?5^_>Y(67:RU!BP+Q9YO'OX
MW"N]V%OWU3>( ;ZWVOAEUH30W>:Y+QMLA9_:#@V=5-:U(M#6U;GO' H9C5J=
M%[/9F[P5RF2K193=N]7"]D$K@_<.?-^VPAW6J.U^F<VSH^"CJIO @GRUZ$2-
M#Q@^=?>.=OF((E6+QBMKP&&US-[.;]?7K!\5/BO<^[,UL"=;:[_RYKU<9C,F
MA!K+P B"/CO<H-8,1#2^#9C9>"4;GJ^/Z+]'W\F7K?"XL?J+DJ%99C<92*Q$
MK\-'N_\#!W]>,UYIM8^_L$^Z\U\S*'L?;#L8$X-6F?05WX<XG!G<S'Y@4 P&
M1>2=+HHLWXD@5@MG]^!8F]!X$5V-UD1.&4[*0W!TJL@NK.Z=,J7JA$[Q4>&P
MR /A\FE>#ACKA%'\ &->P =K0N/A-R-1/@;(B=#(JCBR6A<7$=]A.86K^02*
M65%<P+L:O;R*>%?_R\N$<?T\!G?'K>]$B<N,RM^CVV&V>OEB_F9V=X'A]<CP
M^A+Z?V1X&6,^A7_#P,8:;[62(J"$+_3K2#2%/X.<@C 25/#4DENOI!).H8>?
MJ*9BT^Q0'R80&H27+VZ*8G:WL6TGS"'NYG>OR*SK] $Z&\16(^P9G QH. 3:
M^(!1$F])*QHBU,F]QTD4=L[NE!P,?W:H(T>2RKXD5JS"<58EL0IV: =T'I2)
MM#;BT H#[[TF53^!OTBV%HV@L95X?S**$1\" 2<\EJZ="LHW\%FY6HWFTV@^
MN#B0(*-'SD'E;$N<1-KU7IF:'-H1)P3K6^L5,<6R,5;;^C!XH#4)&SI)5N2)
M@!W'FK)CJY-;$_*KU+UDT*[?:E5"'Y0FLDAGI6U)J52<6W;$]D[YP$0[=$F%
MRI+":0+KG.11O;9$TM T#5")<@!][+(DZ]H0S+976OHS\HGWD)<X2\>,QF1'
M6&4J1SEWI-([C"J4'!KL1_LG"EP+3WPZD23!&);'+(7VEH%[<H-QB">/3 0G
M3(T<3]\A(ZJ_*?.,FH!&$I*V[@#/5MM0D'Z(Q0304(4@4E?5$^" BL#985U+
MI>1.]2FH%5092X5+=71L FUOU-"3W&Z) +O\-*R38T/%_!X#.WUNNN1G$Y\N
MJN.[YNG:WH0T_$?I^'2^32_&23V]NQ\$=X$'C169SJ:_O,[ I;<L;8+MXONQ
MM8'B&)<-/?_H6('.*VO#<<,7C'\H5O\ 4$L#!!0    ( )N*?E:QWH'7_Q@
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
ML<4<AMB2$^\W:($657KF[Z2<$FZFL"&^E\NDJ[->FT$+KWEZ(YM.[(.L''$
M_0P$+QA\*"#6#TU 8'IA=D/X\G00^-L;C,FYEIY;;^$IC%S>8BA!YIR-? JK
M Z7,V:1\F .,2N7I2:X31,51H"1(HHHNCKIF&%.18/H(F@4."+F L=Y10*,
MD\2O?9F$HPO?"@@C&S8*RA\\W,@<=.(QP&<%G9@@P&^ TWJU(X3O,4D4VWL>
M!8R4X#;R(_S8 V\F_P'5B)D1X!>[0.BUI?H.EA&!ZZJ,>RB*!'FC4HR+G3-4
MNQ9Y"[;L24$ !:0=G1@4+4.?T,E$_,MT5:4[>-97;(A[%PPZV!R;) NWGR ;
M*FG-)N)[4ZV/2WU+]H@"7(E_ ELCZ$'M0E>R6FM*4/WOP<R_]FD-1>[QCF;]
M4D?'&/#J2H(";V79$H)I2B@#/K<5?@?.![E[N>O2"$>D2_F"R0J2;9]-A$D&
M9-8A+W)(Z(Y)/'P20VWP%[)QZ!4]CMD 5P?16(S]F%;"N,;%G]5]K9 O(.H@
MOH+R?'5*<$H%]_"(.FH7;*$3H8L]3J5"IK)1X2+)\0#!(?]$CL$D"8PCUS7I
MTG/5.("UJK!<)0!G*K/5N7<V^U$1J?(>GD7G\8P#900LQ"""Q5> ($I&,8DC
MI\<X6OLR A4(X:-::^4K.V%NA*5Z3LAY0>"\+3W;B&F#[ZZSA^ H0='XN!>Y
MEI;'BOCL@SKY38CJ$L390<3OF' :U:FL\I#A41L'#'#U!!/?L](U!&N%Q6Y1
MMT"U<L)*%(4M=5S,.UJ2V1/0):*C, \)R_&&[O 9-LX9KF A#B/<Q$[2#II.
M/5P-OJ5B9ZJEV'._2Y[XKF#FVZ?XG[H]:D<S**;2/4FYY >7T\]2+SH  ;[J
M%V_]I'GH:604LE!<5/,-) = G#Y@],*DOOP(/KQFDH3%\FR$!?H;]J8,TRI5
M\*QKK'Y:RX$KE-%V8C'_+!-G,_AO=O89-8U_^[7S\3+H;/(I4#VH2BN?[F*B
M#K@/ $!QM9$TT3@R8\EV8C$)DPLJ%6N.2R&\4I[@TUGJ AK"<@>WM [!!J%'
M6])2@TIG[@QYLZ>]P#9@$!S5<"K01./#0[URS9H(+I&?WF2,&7$T51JKPKRL
M5+?(PA"> U?7-F^W&)E]"4.AP5!5K!LZ,FUDUZ7^B-5FD@'33J(<0^>&62/'
M',J/)  7,N(04N/@9WT]_9!T<2#1=['E4 U"^\RMB1$B#0L:E [@OCL4-@BJ
MO0%D'5IHK-@B;THJ%^P*/!D#A4YP_2X$-\I/4OMBZ;># I-("I><\K.E?9*^
MAR[,I8[$BY_LI+[- VL0@P'N9\256AM@> W5A>S6'9>J6@.5"(MV@4SWEQ8Q
M(<"BTMZZ(M;S45I0CZ&U,5I$Q Q'>8]Y=C&Y3)<=PRHI+Y'N!\8QH:FOOH(Z
M_5 YM*<=!+ +D/J@C@) O6DCOP_8@DC?D@G[%&9E<'&%LG=IY=K*>N,.@A9B
M"$>!R&:=,SGIFRD;*>L!8""=U<8Y(K\)/'5E[1Z288\NQKH^8G4#_986&"J_
MSR,*DB8UH*G7,+GWV,9\.COOCS&FCW%@</^SRVRZ.,OF,\!\>C9.F*];>7*8
M4%[D8RM* V;G8J6@':?7%:UU<3D2,^%!EDFXR V1>U%PCI#BIZD+RRF?38<
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
M98VO']#. /?72MF#X (,[ZGY_U!+ P04    " ";BGY6K1T!'4$#  #U"
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
M1HLB"XB>AI-I8=7@!X*-LCA>^-<6YSG03@"_;Y6RIX5S<)X0UW\!4$L#!!0
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
MT)I*4%T0?O1@T$LT]X&9#F*4):#MV7 +&4T<?TQ#=R@:>[E9HZ0=?W[6%IS
M=2&+A]#!+0;0%H#VV6H\%"&C&0._8<D)FL1"M_>X!(GARU<#3C:4W)X^./P-
M8=^P>]>C%8X0V9& ]F@Z[I&P]XH%*2EQ OO8L ?2<P]U5B/9:U RK>W*2=N+
MS$J"=4G')5 =VMT.B7I8Z]8G,H?=X"F(!PZ?638-\LY3NY*6>.(P54M=.>KG
M%U*4Z 795.@7<SQ6Y%X:76]@N:PW[B/ 5-FM4I5+G=B=N8('_OAOM8AY$=EY
M"O>%J<MG]L&YOCNVGCOZ7Y"U4Q]7)KV/7*4R2_\ISY$4!-I^[^JDW=?"V_8C
MV6%Z^ZGQ9VF0Q09==P%5L+1XU/;>_1];K_TG,VRWK4O_N%(2V'(3\'Y1UW;_
MQRW0?4.]^0]02P,$%     @ FXI^5D$7UQ5C!   7 P  !D   !X;"]W;W)K
M<VAE971S+W-H965T,3DN>&ULO5=M;]LV$/XKA%H4#2!8K[;EQ#;0I!DZH!V,
MIENPC[1TMHA0I$92=K)?OR,ER\J2>%F+[8LE'GG'YSG>/:+G>ZGN= E@R'W%
MA5YXI3'U>1#HO(2*ZI&L0>#,1JJ*&ARJ;:!K!;1P3A4/XC"<!!5EPEO.G6VE
MEG/9&,X$K!313551]7 )7.X77N0=#%_9MC36$"SG-=W"#9A?ZY7"4=!'*5@%
M0C,IB(+-POL0G5^F=KU;\!N#O1Z\$\MD+>6='?Q<++S0 @(.N;$1*#YV< 6<
MVT (XX\NIM=O:1V'[X?H/SGNR&5--5Q)?LL*4RZ\S",%;&C#S5>Y_P0=G[&-
METNNW2_9MVNCF4?R1AM9=<Z(H&*B?=+[+@\#ARQ\P2'N'&*'N]W(H?Q(#5W.
ME=P395=C-/OBJ#IO!,>$/90;HW"6H9]97E,EF-AJ4@,>54D5S .#<>ULD'<Q
M+ML8\0LQHIA\D<*4FER+ HK' 0($U*.*#Z@NXY,1/T(^(DGDDSB,XQ/QDIYE
MXN(E/\2RC9$^'\-VQ[FN:0X+#\M?@]J!MWSW)IJ$%R<0ICW"]%3T5R(\'2.*
M1^1IG.=,[]^]R>(XO+A>W;BWZ.*,,$UR6=6-@8+8=K'%SG)"14$*QIW96O2(
M7+H)]'WDLW[ =3M6X%9$H)HP@5.X%9=:G^$#-"+ E@.E<#46=G[7.H H< '=
M4<;IF@,QT@:M$(-;5$I>@-(VOBF![%V?802Z X6R0413K9&8W/1>EJ(FJ$#:
M('J+IVB4?5A_3 *3Q8A\P_<6.W7R@/X'FI89U2A3&,6Z,'RG(H>G>Z H$LHY
MJ:4!81CEK\.@H);*V%&+QB;9)ZQ#@"KENV6PV:!VV5W;;,G:(M6([9CU!CM.
MN=4&-5DWZJ%;7($I#SPWDJ/XVOU:[65_(C8F6DEOU953&PU3;Y[FY6DA8(;.
MB:V<,+GXX>?O0%6K' 3['MQIVMX_S%L-L#\1^>585ALE*\2)21>-)89?*46[
M]!BCV!KQ=\5TA4;)6>$8WN*O0M.(?#:8G4<5=MCP+<G\.)[Z29H,;(F?IC-_
M,L[(9RSE\Y=KN?=Y'T7^.(G/!H;0G\XF9Z\E\EQ+M(7%A#NH I -?A7^=E0P
M[/BA8X\$"49C/XNBWH+TDLS/)C'Y)@T6LFW;%ES!=(?/*L,17L\J]I-IY(?I
M[&QH&T]3/YS.'I']#QF])<@G3?TI,A@<Y 0M6?+=M7G[6K7Y7OC_IEB?4\4#
M4#S->!;ZXW#VR!0E>,@3LN*-_N>&/4%V4.RO4-=C445^EHV/PQ![*B.K7BT/
M>C>0ND; /:B<:5=L72,(*W0[T*;OMJVBPASI3V=^/#Y2GXS]61:=(M31:.PV
M5L4/!^?X="KWOYQ:&D8H*LG0E*!,1&F?MN=N%\'@QE>!VKI[K?TL-,*TE[_>
MVE^=/[0WQN/R]M[]A:HMPR1SV*!K.)J./:+:NVP[,+)V]\>U-'@;=:\E7O]!
MV04XOY%XGMW ;M#_H5C^!5!+ P04    " ";BGY68A)ZWHD"  !3!@  &0
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
MW<VS[B*9@Z@A9X28G?SF"!(N@+%Q\E=M6UY5Z!5<LP2@&%$P#YP,5"U-HEF
MA=SW1!#/YX&Q\/E:3 *S)%9IHWQLWXBRN.:,";)@BID]@6$!E.5B1DK!-8,,
M7,CU'5B>3VF0S'8'^(:(;Q^V?6DW1*X^%-4?^G^/F%P<@P#&Z6"5&];X^S4(
M0+U\/S:L^9]&T)O_[^ET)N<^I-/AMCV)W*#BL(7O@Z7/0(+R&[PP<@$7. ?V
MF7)W=8S5Z$,B_YZ.A]HHW\O"25:0&!@%F9V&$!5^,@MXZ$ =EX.U@)TPHB0(
M[NAXB')0*S=E)])% /*RQ!$;),#/8((&;.IEL?.;#I2@WPH^K=^!<; 7=Q1&
M%B*]DW!"$!20F,]&,"<%;(<3EB/QPXAZKNS!_0X'"*21T\/ %OZTTSY:+:>_
M09E%*/B^[XS!7(*J:OP);0^W;LB$V_; YK![&+L50*!'#&>%>9^J:0R4B \<
MF_D(CRR+']#V 'C(K>A-'J'1,9TYA 7L!/%!$6B,\5FR'NO_OA )ZA _>.2.
M"?Y(00^2\!_IF&)Z$!-$7TN_!!(G,D.Q'KU?BA+"UR_>+X'=8.L)L1ZO6PH>
MH5N*4"D$H)CM ?DAEP@_VTL0D"F8^] MT2,=__^S6_J,LKY3MQ3[P+M@]H )
M RFU41]W1DDV:ZM,R9IW5>89 <SL)Y_<+:6HZ8DK'U4=;"#U70Y+5W-&'\&K
MR8Q]0 ZZK%3P3VR50!>BA"+$'41KD,2@)"Z+CU"_11;.3!%E4(//&DS8$#4U
M"K-=6J48\1N&;GV#XY,PN??L'_5)24#\+'QXEQ1%H>E_G/1'T4AF_00]-":6
M'G]E75)@'BX*X2Z/J=4W3[E=F6 KD,G]>?281^6S2 SHJ3_J> ;J]>6:)$/#
MJ8VCIQE_2Q-$[1]%_9R_;]L! '9CWUZO\_\"H)<249MO5E4!1%E2*!/X/GUT
M /S]CDJQO6^>'1E(O/%&W0E-<&*4*X31/)>S$!Q;Q.-[\5$DC QJ'P<._2:7
M(Z]%PGYM*BJC9]J\%1LK/!6:U!/N2PO4(, 1:/1-(YK:[[P5GTH;@, .F7=S
M/YT^.?GM]42I ""9/VT@?')7>HLCG1=*3M1//=<=SAWT(O<Z;PD?U:V[N_,V
MW8@5O#L[==WXL:_V7&^]E:J@%[3#%P$N$5([;!#R;Z?K^-M;E6J;\9N)$8>V
MYG.3*T#U0L!%KD^V:/L9:NZT;1!.^OO3Y0ZE\(LG^N=F-WI]'X >1+-7KF@%
M02$R(69?OHQBN0F0V*GN%#-(F<2_*\/I51LX?)8Y(_Q&89S5^^VCT5M)P#!X
MVZ=91\X'<_#ETGP6V#%#W^RW<^/H^.7A2_O!W33=?K;XQKZ<9[6\P%+_,(D6
M3-E/ >T/W6[,YW?GK4;@F,N5S-$+T 3<OVA;O?U!&XS?8Q[_#U!+ P04
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
M[4IP4!%N@,\72MGF 2]H?[]S^1]02P,$%     @ FXI^5J9V"2U3 P  # @
M !D   !X;"]W;W)K<VAE971S+W-H965T,C0N>&ULI999;Q,Q$,>_RF@I\!)E
MCZ9-:)-(I%#! U)5KF=G=S9KX6.QO4WS[1E[CR30!B1>&E_SF__,K,>=;[7Y
M82M$!X]2*+N(*N?JJSBV>862V;&N4=%.J8UDCJ9F$]O:("N"D11QEB27L61<
M1<MY6+LSR[ENG. *[PS81DIF=BL4>KN(TJA?N.>;ROF%>#FOV08_H_M:WQF:
MQ0.EX!*5Y5J!P7(1O4VO5A-_/ASXQG%K#\;@(UEK_<-//A:+*/&"4&#N/('1
MSP/>H! >1#)^=LQH<.D-#\<]_3;$3K&LF<4;+;[SPE6+:!9!@25KA+O7VP_8
MQ7/A>;D6-OR%;7LV2R+(&^NT[(Q)@>2J_66/71X.#&;/&62=019TMXZ"RG?,
ML>7<Z"T8?YIH?A!"#=8DCBM?E,_.T"XG.[>\1\<-4I8=K%%AR9V=QX[ ?CO.
M.\BJA63/0-(,/FGE*@OO58'%,2 F18.LK)>URDX2WV$^AO-T!%F292=XYT.8
MYX%W_G]AMI#)TQ!_/ZYLS7)<1'0!+)H'C):O7J27R?4)B9-!XN04_5\EGH:D
MTS$\ 3I<JP53%IA!T&6)!@MP&I@0@+(6>H=H@2NX88+3E5><C>!6:,,+&K@*
M:6,GF8*/EC %<50!7VAYQ2KFNT68[%VP@KY9;EWPL]X1@9L":F8<Q];8GZ);
M1'$4D--'9/BZ"?>UA=2-L0TCV21R6_&\:D5H63.UHXO@J$O9%ICSFCFN-OM
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
M   9    >&PO=V]R:W-H965T<R]S:&5E=#(V+GAM;+59?V_;.!+]*H2W7;2
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
MZ^FWVBX]$<(671WEGMGU)HR:>-P]OBA7HY ^F8_/T2?A:D6D-%;DFDW?ODG
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
M /R^T+IQ?^ $_D;P5_\+4$L#!!0    ( )N*?E9AQ#N:<@,  $<(   9
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
M+$U/!VD#C'\MA-YO[ '#7R+[#5!+ P04    " ";BGY6W#0 YA\#  !M"
M&0   'AL+W=O<FMS:&5E=',O<VAE970S-BYX;6S-5FU/VS 0_BM60(A*%GEM
MFY2V$B^;M@],"-CVV4VNK85C9[9+8;]^YZ0)94#'-#[L0VO[?/?<<V?[+N.U
MTK=F"6#)?2FDF7A+:ZN1[YM\"24S1ZH"B3MSI4MF<:D7OJDTL*(V*H4?!<'
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
M_M\KY@W42Y V=TXQF9PZ1@S('5,;<D&BB+HTIKA+8]_UHXS<%(7H&JVP8Q7
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
MRT#K,RE-,[$;M/\%F/P+4$L#!!0    ( )N*?E;C7R\EYP(  #8+   9
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
M/-KG=!8GY%H\B I],3C_RX8[1:O>$JEV%3D*)4VBC";Y47@QJ06-L1Z_N8)
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
MA[3='C1O'Q0M' JM.P#[U-WNS]W/6]8#Y=NUCL<YOC97##6&>Y.*M]GZG,^
MK<MK$8[*!*SZ)&Y:FZN7N_+"X:!];M\NJ@N4/4QUGW./V5I^TJ 45A+2NA[+
M38M55R151="BO#184B%H5A83P#$P92#?KR@5+Q7507-1%?P/4$L#!!0    (
M )N*?E9%X.9$S0,  / 5   9    >&PO=V]R:W-H965T<R]S:&5E=#4Q+GAM
M;+5876_C-A#\*X0*%"V01B+M.!^U#<27%#T@08T+[OI0](&65A9QHJ@CJ3@!
M^N-+2K;H%@DEZZ 7FZ3(V=GA4F-SOA/RJ\H -'KA>:$60:9U>1.&*LZ 4W4N
M2BC,DU1(3K7IRFVH2@DTJ1?Q/"11- LY946PG-=C:[F<BTKGK("U1*KBG,K7
M%>1BMPAP<!CXQ+:9M@/A<E[2+3R!_ERNI>F%+4K".!2*B0))2!?!+;Y9D2N[
MH)[QA<%.';61364CQ%?;^9@L@L@R@AQB;2&H^7J&#Y#G%LGP^+8'#=J8=N%Q
M^X#^6YV\269#%7P0^9\LT=DBN I0 BFM<OU)['Z'?4(7%B\6N:H_T:Z9.[L.
M4%PI+?A^L6' 6=%\TY>]$$<+)I-W%I#] E+S;@+5+.^HILNY%#LD[6R#9AMU
MJO5J0XX5=E>>M#1/F5FGE[=Q+*I"LV*+2I&SF(%"OZ"U--LN]>L9*G-::$2+
M!,&WBI5F/S3ZZ0XT9;GZ>1YJ0\$"A?$^W*H)1]X)APEZ%(7.%+HO$DC^"Q :
M[FT"Y)# BG@1[R ^1Q-\ADA$B =OT@HRJ?&F[^"M*I8G5HZ_'H%O0/Z-_D&/
M](7QBK=#;^7M1;5GZT:5-(9%8 Z/ OD,P?+''_ L^M7#>=IRGGHYN^U:M]MU
M?]BN,_1905KEZ(&E\!9S/_8T0J] I?+0O&AI7IPN+2LZI?6B#I1VUG*>C2BM
M'_NB4]G+EN6EGV7-[?:8VZGUZPTP4.2KEO[5B"+[L7O4[W5+\_J[5.Y1RMX
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
M 2/O''Y-J=\C/FG*4RMDU^?.3<E2G$34R SJ#4;3'[_K#CJ_M&3KM,[6:6M
MK[Y6W#[  FVNLH/"^ BS+..N%5$XKF7HI[1J2EF[A3\.$E09-#Y0&,P6P2Q%
MCST5JN,-/\@SE6"JBH*:8HCKZ[R'C+@\6 7](^EH3"4S;13A9/U-BBPK^T2\
MPGV9G)GTL I2ZAXDGOD(-E*@-83?2(%^38%^:X*H1U9%)9@EFLX*I2U_](ZZ
MB(7.>(DKU)J.YT3AQCX8+ R\!?=EW4R34<?]C>/-(<X&N>%SN6<0!C6$03N$
M-]S.F5YCH^.#5PYUAZ->O_?"[R#6/R[VS.UA[?;P+;>)\]0DJ!J<G\1>>E1I
M8#<+IP1G2[G1("CXL'SP9V6U)/KM#C)NK.;$0X?>/!"["_CWR$?A8O@*R6GO
M[ 7:5J^_D8UG=4S.VC\?K.26"?Y(\;B2:SJE,J+J^XTMJ9)<#2Z8KRQA/!WA
M[P462]3_-(%M-?5^("$J_Y.R9U$9U5$9M48E$'KF)Y0FH*-7-.[UF^KO;;G@
M7GPP<A5(Q>,F40.^1X=II=ZMA]V9G_%>[%_0$!QFUB<U88)>4$URZ3ZD*U+9
M.1D2)W682L/"JM(/=DME:4STKSD-\JB= )VOE++[A3-0_S28_@=02P,$%
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
M[;TUM7?&!C/C_61BD>02I3#7]$[?UR:+<FXJ-XJOBDEBRI6>2XKE4H^:($R
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
M52+NZ?HW7 ;44_XBFO#\/UB78^T.B%9<T+0TE@A2DA77\*DD8LL N@<,4&F
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
M0N )%;L!'ZH5 Z&U6]$X$&A\LA^MV@WLMAR1BR(GBKJZ[8_T_1CM>?;"QC?
M%XQ#2?E]>_1,(C;"'3QR Z&UBV^<!_1.*6*CKSFX%0.AM5O16!KX4YYFOXAW
M;4K@^2Z*8Z\KXKY(%WENN&_Z;1P--%N::ZH<#9T6I:6Y?Q)ZR,PJ-N(=/'0#
MH;6K;UP2#$^IXD%-U%!H[58T-@H:[<GQ*HYVG8&RY)[ZZ*JX+S*,'!2B/2IN
MS \TNY]/\SE-")@7/*>RX.0,S.FC/A"=EWRCLHW7.'@X!T)KO]HWM@HYIWRY
M']1O#876;D7CMY#1Q!RM[ UL2Z_JK=WW@HZP^P(='T;0Z]<UVEJA,?NCKV1)
MDY289V0SQL&#=8JU&-28*N2>4K>#6JRAT-JM:"P6,J_N'*W;W<4;Y"O+&^[H
MMB?0">,HW*?;QA(ALR6Z)5B0)4MGX"9;<?9 -.475&Q$/'CH!D)KU]^X*A2<
M4L6#6JRAT-JM:"P6,J]$':WB<%><D1)G]P7OY;@V\<80(;,ANL735QH',]#!
MXW6*92346"D4GU*Z@WJHH=#:^P*-AW+-2U-'[PPXNPO^R/.[T^^+815M>VO#
M2^\V?L1\07,!4C)7><YYJ*3/JPV\ZD2R5;D'-F52LJP\7!(\(UP'J/_GC,GG
M$[VM5F^C3OX'4$L#!!0    ( )N*?E:<F[_YM0(  '4'   9    >&PO=V]R
M:W-H965T<R]S:&5E=#8Q+GAM;*U5;6_:,!#^*U8V39W4-<1Y8>T@4H%-ZX=*
MJ*C;9S<YP*ICI[8I[;_?V0D9I2F:IO*!V.>[YY[G;)]'6Z7OS1K DJ=*2#,.
MUM;6%V%HBC54S)RI&B2N+)6NF,6I7H6FUL!*'U2)D X&65@Q+H-\Y&USG8_4
MQ@HN8:Z)V505T\\3$&H[#J)@9[CAJ[5UAC ?U6P%"["W]5SC+.Q02EZ!-%Q)
MHF$Y#BZCBVGF_+W#+PY;LS<F3LF=4O=N<E6.@X$C! (*ZQ 8?AYA"D(X(*3Q
MT&(&74H7N#_>H?_PVE'+'3,P5>(W+^UZ''P-2 E+MA'V1FU_0JLG=7B%$L;_
MDVWK.PA(L3%656TP,JBX;+[LJ:W#7D"4O1% VP!Z&)"\$1"W ;$7VC#SLF;,
MLGRDU99HYXUH;N!KXZ-1#9=N%Q=6XRK'.)O/-1X(;9]/22V8M(3)DL##AM>X
M4\VL4-)8O6FJSB6IM5II,(9\(9=ER9V9"7(EFQ/EG$YF8!D7YC.ZW"YFY.3C
MYU%HD:Q+&18ML4E#C+Y!+*+D6DF[-N2[+*%\"1"BRDXJW4F=T*.(,RC.2!R=
M$CJ@M(?0]-_#HR-TXJ[RL<>+W[WR?<5L<B7]N5PKN# U*V <X%TWH!\AR#]]
MB++!M[Y"O!/8B[(D75F28^CYE-7<XH&:JJKBUM6B5V\#DGD0UZD><^Q;[C<*
M'_>E'$WVGU+23DIZ7,K^_EU),M_=G+G E*4S+3 E+Z!/88.=[BL\'PYI?" P
M?56(+$DH33JW%]2SCGIVE/H,L!X%]_>YCUSV*FN:T#0:#@_8]?B=GZ<TB@_H
MA7L=K *]\HW=X W82-O<\,[:O1V7OF4>V"?XIC1/P%^8YD&Z9GK%I2$"E@@Y
M.!MBY733Y)N)5;7ODW?*8M?UPS6^BZ"= ZXOE;*[B4O0O;3Y'U!+ P04
M" ";BGY6<9,7.]()   ]=0  &0   'AL+W=O<FMS:&5E=',O<VAE970V,BYX
M;6RUW?UOVD@:!_!_9<2=3KM2"]@$2+()4H+?7]JHV>V=M+H?)C !W_J%>DQ2
MI/WC;\8X&%,S!>F;2FW!>#XS8#\/'O. ;UZS_"^^9*P@WY,XY;>=95&LKGL]
M/ENRA/)NMF*I>.0YRQ-:B+OYHL=7.:/SLE$2]_1^?]1+:)1V)C?ELH=\<I.M
MBSA*V4-.^#I):+ZY9W'V>MO1.F\+OD2+92$7]"8W*[I@CZSX8_60BWN]G3*/
M$I;R*$M)SIYO.W?:=:A?R0;E&E\C]LKW;A/Y5)ZR["]YQYW?=OIR1"QFLT(2
M5/SWPJ8LCJ4DQO&M0CN[/F7#_=MONE4^>?%DGBAGTRS^=S0OEK>=RPZ9LV>Z
MCHLOV:O#JB<TE-XLBWGY+WFMUNUWR&S-BRRI&HL1)%&Z_9]^KUZ(O0:Z?J2!
M7C703VTPJ!H,3FUP436X.+7!L&HP/&B@71QI,*H:C X;7!YI,*X:C \;C(\T
MN*P:7)[Z'*ZJ!E>G-M#Z;UNN?]AD>*S);F,?;NVCKY3VMKFUP^U]O,G;!M?*
M+=[;[HOECFS0@DYN\NR5Y')]X<D;9324[<7^&Z4R<!^+7#P:B7;%Q(CX+$N+
M*%VS.1'I(*<RGCCY2$+V/9IE9)5G_Q-!)H+A143Y2L1L\9%\HKE<\85Q\HO!
M"AK%_%>RH#&)4A)&<2R)FUXAQB=[Z<VJL3C;L>A'QJ*14 QER8F9SMF\I;W[
MD_:Z NB)%V;WZNAOK\Z]KA0M]M0E_:L/1._K.OGCT2"__//7EH%-SV'"_WPZ
MPAAJYFZ]Z!+]LF3ZBM&8YS#'1V.I&6^="F;[I/HMS>U31J'+YMI([CMM^XN:
M".F&#+12Z!\17+5@L%FW(I3;USN=T12,?S*C[49#EK1%"D[8X;:;6+ML:1Z>
ML&VJ@8P48338)9E!Z0V.>(_B<&.^CAG)GHF;BJQ1R#3"R9^!6)&X!4OX?UM&
M>;]5+]I5>4ASS5=TQFX[XIB%L_R%=2;_^H<VZO_6%J)(S$!B)A*SD)B-Q!PD
MYB(Q#XGY2"Q 8B$(:Z2 BUT*N%#IDT_KY(GE,@',Z8:3(A-3A:<D*D@<\4(N
M3K/T8\YFV8LX!'D2J8)]%W,3+@XP$CIG;<E!V=^YR0&)&4C,1&*6>AN)HP&Y
M<=H2 7(4#A)SD9B'Q'PD%B"Q$(0U$L%PEPB&RIWL+LG6J3+BVX)=:9X;[$C,
MV&*C$I-G25XF0TV[N!CJPYO>RWX@_[BB-A@/!@.Q=G--"SD^&XDY2,Q%8AX2
M\Y%8@,1"$-:(W-$N<D?*R VB(EJ4IP?((RN*F,F#^ _$W(9M6]0JO7.C=M06
M/_WR3S-^#&2W)A*SD)B-Q!PDYB(Q#XGY2"Q 8B$(:T3V>!?98V5DN\F*1KD,
M9Q)GG)/G+'\[_4<Y9X4\'3AO/U'8%O;*SLX->R1F(#$3B5E(S$9B#A)SQS\D
M\<%X/-!'S0SN_;C:U6@PO#A(]#YR: $2"T%8(YHO=]%\J8SF,$JC9)V0/T,F
MY]RM9]:4PKDABL0,)&8B,0N)V4C,06(N$O.0F(_$ B06@K!&N%_MPOWJ74ZN
M7R%3 !(SD)B)Q"PD9B,Q!XFY2,Q#8CX2"Y!8",(:*4#KUY_B]]5S<WG8/BV/
MSQ<LG6T^$(,F=,$X><S6BZ68IG^E\;IUDE[)S3-8;?/JJ7H,YT8Y5#.AF@75
M;*CF0#47JGE0S8=J 50+45HSWO>J=C3UQVF/4W*W6%/E0;[:./<M'JH94,V$
M:A94LZ&: ]5<J.9!-1^J!5 M1&G-Z-?KZ-??Y9"_8E$) :D94,V$:A94LZ&:
M ]5<J.9!-1^J!5 M1&G-A%#7UVG*VIW)7<ZH3 8!3>?D[_:2P7NU<7;T0^OI
MH)H)U2RH9D,U!ZJY4,V#:GZER>/NW3Q5[W>UYAPU@'8:HK1F6-<U<YJZ(.N!
M;K9O[/(#N5C&MOR;R^^B<!GNKW1#EBR>EX_O%>BW1C^R@F@*U0RH9D(U"ZK9
M4,V!:BY4\Z":7VG[)ZET36LY215 ^PU16C,!U+5RFKI8[K1I/K0X#JH94,V$
M:A94LZ&: ]5<J.9!-1^J!5 M1&G-Z*_K[;31^TSSH75W4,V :B94LZ":#=4<
MJ.9"-0^J^5 M@&HA2FLFA+I,3U/7Z7W*4EF#EV>Q>&0A<D+!1#?%!_+Y-64Y
M7T8K\L#RF4@2=,'(TX8<--BNUIHRH#5[4,V :B94LZ":#=4<J.9"-0^J^5 M
MJ#1-VYML]+O]_L'7-$)4K\UD4%?Y:>HROT=&7ZE( .2+F/CGG)'//,EXQ(G!
M.!4K;ROU'V*:%C(K$(-NR$.>S1CG,A=,J1A;5&S(WT>^.GVO[O_LG "M$H1J
M)E2SH)I=:<.]G5$[G/0ZIZSD0L?E034?J@50+41IS3BOR_LT9>G01,1NE,WE
M+VN\+J/9DH@W=%[DZ^WOWB1K7I G)A8FJY@5K;^:<:_NX.Q AM;Z0343JEE0
MS?[)9AZ,2%+^>$GK6SFTO ^J>5#-AVH!5 M16O.G:.H:/UU=XU<E@B_LVSK*
MV9S\GI'/Y?=P&+E+YR2DD3CNC][>\N6BNV]K-A>9HBTIJ#L[-RE -0.JF5#-
M@FKV3S;Y8$PVC+9.V1SH0%RHYD$U'ZH%4"U$:<V<4-<!ZF?6 8K#>7F?DSDC
M7S).\ZC(R&/WKOO0=;MRX;3[5?EI@KK#L_,"M&@0JIE0S8)J-E1SH)H+U3RH
MYD.U *J%**V9*NJB0?U]B@9U:-$@5#.@F@G5+*AF0S4'JKE0S8-J/E0+H%J(
MTIH)H2X:U-5%@Z:81Q0;$K)B*:85=4IH_SBA-35 *PJAF@'53*AF034;JCE0
MS85J'E3SH5H U<)*._@,XNJJ_J&$9M#7)86ZLF*I=<)@13DOR,.2<J:>&B!+
MJZ90S8!J)E2SH)H-U1RHYD(U#ZKY4"V :B%*:R:%NLQ0'[[/U !:>0C5#*AF
M0C4+JME0S8%J+E3SH)H/U0*H%J*T9D*H*P]U]4_]O7MM@;K_LS,'M$01JIE0
MS8)J=J7MEPT,#TL+H#VZ4,V#:CY4"Z!:B-*:^: N/-1_4GC8,FMX9+,LG9\R
M;8#6%D(U ZJ94,V":C94<Z":"]4\J.9#M0"JA2BMF17J"D3]\GVF#=#"0JAF
M0#43JEE0S89J#E1SH9H'U7RH%D"U$*4U$T)=JJBK:]C>?]H K62$:@94,Z&:
M!=7L2E-/&Z 5BU#-@VH^5 N@6HC2MOF@MW>9P83EB_)ZFYS,Y 4]9"=[2W?7
M]+PKKVQXL/Q>NYYJ+<L-[=IL6^YJU_[V2IYUM]L+BX8T7T0I)S%[%D/H=\=B
MI\RWU^K<WBFR57GQPZ>L*+*DO+ED=,YRN8)X_#G+BK<[LH/=%5,G_P=02P,$
M%     @ FXI^5B#E'<D/!   >0X  !D   !X;"]W;W)K<VAE971S+W-H965T
M-C,N>&ULU5=M;]LV$/XKA%8,*>!%HB3K);,-- [6!6C1H%F[#\,^T!)M<Z5$
ME:3M!-B/WU%2Y!?1:KKER[[8)'5W?.ZY._(XV0GY1:TIU>BAX*6:.FNMJRO7
M5=F:%D1=BHJ6\&4I9$$T3.7*596D)*^5"N[ZGA>Y!6&E,YO4:W=R-A$;S5E)
M[R12FZ(@\O&:<K&;.MAY6OC(5FMM%MS9I"(K>D_UI^I.PLSMK.2LH*5BHD22
M+J?.&WPUQZ%1J"4^,[I3!V-D7%D(\<5,;O.IXQE$E--,&Q,$_K9T3CDWE@#'
MU]:HT^UI% _'3]9_J9T'9Q9$T;G@O[-<KZ=.XJ"<+LF&ZX]B]RMM'1H;>YG@
MJOY%NU;6<U"V45H4K3(@*%C9_).'EH@#!7#4KN"W"OYS%8)6(:@=;9#5;MT0
M3683*79(&FFP9@8U-[4V>,-*$\9[+>$K ST]NV$J$Z5FY8;F"))#$L.N0C^A
M]_2!90)54OP%E ,U6XAY!1'4Z.*&:L*X>@UBG^YOT,6KUQ-7 QICT\W:G:^;
MG?US.]/L$@5XA'S/]RWJ\^>KXV-U%SCHB/ [(OS:7G#&WFV9B8*B>TTT-4Z.
MT#7AI,Q@J2XG4N;H39XS0P_AR/#&A=I(JM#BT4PKH6#]K12;2HT0F..;G)4K
M=,3PASW#?[P#!.@6=E-_VMAKX(9VN*:ZKU1%,CIUH'P5E5OJS'[\ 4?>SS8N
M7\C8$;-!QVPP9'WVF]! #%&*:H7$$N7VE+-QT!B.:L/F0-K.?!Q%7APE$W=[
MZ)]%T ]PFOIQ)WB$/>RPAX/8SP3O$OW]5!]W;7W<[.O#YLG@-M\;S1<R=L3(
MN&-D_/^JD_%+,OM"QHZ8C3IFH\%<FQ.UMCG8:(T/<CL,?7_LGY1 7RP>>UZ8
MV L@[D#%@Z#N)*T(RQ%]@,9!01!-?(5>4PFWDY3F-F@JVX8\[D'"?A2/3X /
M OB7G">=>\F@>Y\)WU!$\AQR3I,'\$_2C+(M67"*+DK(9SBP"(=FITYQF+S"
MHV@<CY(8UU3 U(_340Q+H*HJ6K<E_-%Z(2:6$"5^=,)'7RKQXR2PQS'M'$V_
M$4=STNK'$:J@6ILRI5\WK&IJ&#RU 4[[@ ].U 9N7R8(O11[=KS8VS<FWB#B
M=P#1VE5XO0U]#'F5I*>7PG,DC\$==$UX$-R'N@+.9WZK?K1UD'JG /M2./63
M<^CVK0P>O,__RXW;6AY_^\JU20[>N7C?,.#G= R<D07C<)'0[W8BZ.<D!#T)
M3UWHR^'4PR$^X\"^:\##;</)L5+7U]%)8D4=]IH8'$.^!CW8%D$XA. ,.L'M
M'KP+S*/L/9$K!E<JITO0]"YC\%PV[YQFHD55/Q460L/#HQZNX6U(I1& [TLA
M]-/$O#ZZU^;L'U!+ P04    " ";BGY6VV7K#ET#  #:"@  &0   'AL+W=O
M<FMS:&5E=',O<VAE970V-"YX;6S55E%OVS80_BN$-A0MD$2R),MV:@N(X[4+
MT*!!@VX/0Q\8Z6QSI4B-I&P7V(_OD9(5.Y&%%LA+7VR1O/OXW7<\\J9;J;[J
M-8 ANX(+/?/6QI27OJ^S-1147\@2!*XLI2JHP:%:^;I40'/G5' _#(+$+R@3
M7CIU<W<JG<K*<";@3A%=%055W^; Y7;F#;S]Q">V6AL[X:?3DJ[@'LSG\D[A
MR&]1<E: T$P*HF Y\ZX&E]<3:^\,_F*PU0??Q$;R(.57.[C)9UY@"0&'S%@$
MBG\;N ;.+1#2^*_!]-HMK>/A]Q[]G8L=8WF@&JXE_YOE9CWSQA[)84DK;C[)
M[9_0Q#.T>)GDVOV2;6,;>"2KM)%%XXP,"B;J?[IK=#AP&"0G',+&(7SJ$)]P
MB!J'R 5:,W-A+:BAZ53)+5'6&M'LA]/&>6,T3-@LWAN%JPS]3+I@.I/",%%!
M3O!L*&K5U>2<W,*.99*42OZ+DJ,T&TQYB0DTN/B."2HR1CFY$?51LCEYO0!#
M&==OT.+S_8*\_OW-U#?(TN[E9PVC><TH/,%H$));9+36Y ^10WX,X&-X;8SA
M/L9YV(NX@.R"1(,S$@9AV$'H^L?=!SUTHE;RR.%%)_!N1"8+(/>&&K!RGI$Y
MY:@F3KFZI2(G5WG.K*0HL,T0E[I2H,G#-SLLI<;Y]TI6I3[#!&2\RIE8D:-<
M?GS,Y3\?D &YP=WTEZY\U'3C;KKV&KG4)<U@YN$]H4%MP$M?_39(@K==6KX0
MV)&R<:MLW(>>?I!:DZ62!<F[CW57]#5DXB#MG;=)PV@T".+)U-\<!M9A-QS%
MP>C1[HCSL.4\[.5\(FD7Y/]]!=XU%;AXK,"N.'JW^=DLOA#8D2))JTCR:]5'
M\I+*OA#8D;*C5ME1[UG#D[1A[OW%.YM4J#.WSRFJL:&\ D)SO'")H3OHK)0:
M?'A0 =%H%(7)DT)Y;C9)HF$<=-?)N.4^_L':[B_G\;,R/>^NY_$SFN>]!3UI
MB4[Z"QHP<_@TNA<1=MAN:>@BVHORLZ=J\BSJ>!@/GP3B'[0)!:B5ZYXTR60E
M3/V:MK-M@W;E^I(G\W-LW.H^ZQ&F[OINJ5HQ+"D.2X0,+D:HKZH[J7I@9.F:
MD0=IL+5QGVML/D%9 UQ?2FGV [M!V\ZFWP%02P,$%     @ FXI^5D=SX??*
M P  BA0  !D   !X;"]W;W)K<VAE971S+W-H965T-C4N>&ULO5AK;]LV%/TK
MA#84+1!'(O6PG=H"4@?9"K1#T*S;9T:F;:(2Z9%TW/;7EY04/6):;C*F^F!3
MTKV']_!2EX><[;GX(C>$*/"UR)F<>QNEMA>^+[,-*; \YUO"])L5%P56^E:L
M?;D5!"]+IR+W41 D?H$I\])9^>Q&I#.^4SEEY$8 N2L*++Z](SG?SSWH/3SX
M1-<;91[XZ6R+U^26J,_;&Z'O_ 9E20O").4,"+*:>Y?P8H%*A]+B'TKVLM,&
MALH=YU_,S?OEW M,1"0GF3(06/_=DP7)<X.DX_BO!O6:/HUCM_V ?EV2UV3N
ML"0+GO]+EVHS]R8>6)(5WN7J$]__26I"L<'+>"[+7["O;,>Q![*=5+RHG74$
M!675/_Y:#T3' 49''%#M@'[6(:P=PI)H%5E)ZPHKG,X$WP-AK#6::91C4WIK
M-I29--XJH=]2[:?2]TQAMJ9W.0%82J(D&($%E_H?LZ4>Y&Q7['*LB&X77"CZ
M'9>C__J**$QS^4:;?[Z] J]_?S/SE8['H/I9W?>[JF]TI.\KDIV#$)X!%"!D
M<5_\O#OLN_MZ%)JA0,U0H!(O/()G:-M(5%Z1W<M\9A=RBS,R]_1W)(FX)U[Z
MZC>8!&]ME!R!]0B&#<%P"#V]IHPJ,OJ@OYLEZ"3^LDS\&?A#<"EM(U#!)B6L
MJ0OW:1R%@;YF_GV7W&F[7MQ1$W<TF)C+([/0%FKD,EF.P'JDXX9T_+^2U1V4
MRQ.#4O44=_(R0@G4%WJ40)MA@"9A&-DSF#1DDD$R!U7F##!B_=B2@PC0!$[T
M]2C20[LP"F"2)/9 QTV@X\% _^)LE/%B2Y2.="T(T2N6-<Y!F*?.,T=@/<:3
MAO'D655OXI*@([ >P6E#</HR56]Z,,5B6]$[:=:+&@;MPAPXJWHUE*-LN4+K
M$^\H$OC+*E_=5:^B6;-H,XRFX60R/9+'5E7 P34]_5O@)0$,%\0ZRX:]GYRZ
ME] 7L!48,'Q6,8&#PN3))!VA]4FV:@0.KOO/+R@U;F]Q&P>VR7C:L!][*RI@
M[*ZH# J4)R?-$5J?>"M X+ "<5I4#L7':(IL>;08CJ.!/+8R!0[KE&N<T9RJ
M;WHKR/1NVZ@4D'&FA-X6V^>>4\'B"JW/OI4L\'F:!3H5+:[0^B1;V0)?2+?
M0T6"D+7,G#;L;Z1;[8+<:1?D5+NX0NL3;[4+^G7:I>ZJNYT>09A8MFTVR_$T
MBJ+X42+]SD&1.:7[B,6:,@ERLM*>P;DYUA+5P5=UH_BV/#NZXTKQHFQNB-8S
MPACH]RO.U<.-.8YJCA_3'U!+ P04    " ";BGY6 23F0F<"  #,!@  &0
M 'AL+W=O<FMS:&5E=',O<VAE970V-BYX;6R5E6%OVC 0AO^*E4U3)VU-"$D(
M+$2"HJJ5M@F5=?MLPH58=>+,/J#;KY_M0(1*"ET^$-NY>Y_W@GU)=D(^J0(
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
M0+U%>%9!/5\P)E]NL@:JXV+C?P%02P,$%     @ G(I^5F5%L#B$!   Y!4
M !D   !X;"]W;W)K<VAE971S+W-H965T-C@N>&ULM5A;;]LV%/XKA#8,+9!$
M(G7/; .MLV(#VB5HUNUAV -CT;902?1(.D[^_4A)ULT4&Z?:2R)9YWP\WSD\
M%W)VH.PKWQ(BP%.>%7QN;8787=LV7VU)COD5W9%"?EE3EF,A7]G&YCM&<%(J
MY9F-'">P<YP6UF)6_G;'%C.Z%UE:D#L&^#[/,7M^3S)ZF%O0.O[P.=ULA?K!
M7LQV>$/NB?BRNV/RS6Y0DC0G!4]I 1A9SZUW\'J)7*502OR9D@/O/ -%Y8'2
MK^KEMV1N.<HBDI&54!!8_GLD2Y)E"DG:\6\-:C5K*L7N\Q']0TE>DGG G"QI
M]E>:B.W<BBR0D#7>9^(S/?Q*:D*^PEO1C)=_P:&2]:7P:L\%S6ME:4&>%M5_
M_%0[HJ. O!$%5"N@H8([HN#6"J7G[,JRDM8-%G@Q8_0 F)*6:.JA]$VI+=FD
MA0KCO6#R:RKUQ.(CD3[@X!*4#P!S3@0'N$A EN*'-$M%*C^_N2$"IQE_*P6_
MW-^ -S^^G=E"+J] [%6]U/MJ*32RU U970$77@#D(*117[Y<'?;5;4FZ88X:
MYJC$<T?PEGO&2"%T/"I%3Z^H$NN:[_"*S"V9.9RP1V(M?OH!!L[/.E83@?4X
MN@U'UX1^Y'@,*UV#).4K6HBTV),$R&+ L,HFKO-"!1V4T*H:/"[".(QG]F.7
MW:D0"GRO$>I9[356>\;(_$Z+U7APO"F#,Q%8CZ;?T/2-P;FMO%]L0%;F'E,5
MYY*N+_=-(NKX5Z!^U^..'[F1-XB,1BZ(('1#?7""QNK :/5'6FPN!6'YZS:5
M$?S<Z 4G%&$0Q9&>8-@0#(T$_Z "9^>%)#QU-71@'(6#D&CD0MENHUAO<=18
M'+VVDD53NGLBL!['N.$8OZB2R<:]9U53DAN/]E-(&YSXQ.F^%T0^',1&(Q8C
MUPWTH8%.VU^=%QG>;:?GI4R]0->TT V&]FND((2Q/V)_9SZ WU&,:^6)-MA4
M:'VJ[4  C;VX0_5%&ZM&ZWG<CQW?0\/0G HB68?=>*1/PK:]0W-_[UC\'?O+
M/3'/&3(X%0DC.%*V8-OGH;&_]DIMQWZMD=[IH $]+_2';4\G&'I1Z(TYNVW7
M\*Q^S2_ H3PD2 ?C1_EI(_L%42>GMJ6K/JEE8UXI ,\$,PY"D,L8;CD(0(*?
M=7Y9?@,IK)!,Z=$V?FCN_"_@7^ZZO=R-4I!HB5=+0-C=;%>.#T_*V8B@XXZ$
ML6WOT-S?;[J9<=MDQI767"/4V>5M(K0^\79*@.8QX1N5?-)182JT/M5V6(#F
M:6'*5#6O%!]3%$;C.6J&@&6.FI.]?\)MAP]D'CZF2-EZB6$F>G$P2-DQP7#D
MQ(':&009&__BCI$=3A/PR]..%.JZ0MU/W(HM8> X7KVK#B-_?R+Y V'_:(E,
M.JM,A=9W2>?RXO6W%]->7_P?]Q>HG7"0><(9'I*K0]@%,%0R='HGX?H!&@X*
MYH7/)69WKN#4_><GS#9IP:75:PGO7(6R3[/J2K%Z$717WLH]4"%H7CYN"4X(
M4P+R^YI2<7Q1%WW-Q>[B/U!+ P04    " "<BGY6V6$[Z+,"  ",!P  &0
M 'AL+W=O<FMS:&5E=',O<VAE970V.2YX;6RME6UOFS 0Q[^*Q::IE=;R#&U'
MD)IDTR:U6M6LVVL7+L$JV,QVDN[;SS:$DH32O=@;\,/=_WYWX'.R9?Q)%  2
M/5<E%1.KD+*^LFV1%5!A<<YJH&IGR7B%I9KRE2UJ#C@W3E5I>XX3V14FU$H3
MLW;'TX2M94DHW'$DUE6%^9\IE&P[L5QKMW!/5H74"W::U'@%"Y /]1U7,[M3
MR4D%5!!&$8?EQ+IVKV:QMC<&/PEL16^,=":/C#WIR;=\8CD:"$K(I%; ZK6!
M&92E%E(8OUM-JPNI'?OCG?H7D[O*Y1$+F+'R%\EE,;$N+)3#$J]+><^V7Z'-
M)]1Z&2N%>:)M8QL&%LK60K*J=58$%:'-&S^W=>@YN-$K#E[KX!TZO!;!;QU\
MDVA#9M*:8XG3A+,MXMI:J>F!J8WQ5MD0JK_B0G*U2Y2?3&] U4"@,S1C5<TH
M4"D06Z)2+Z.,"8E.YB Q*<6I,GI8S-')^]/$EBJT%K"S-LRT">.]$L;UT"VC
MLA#H,\TAWQ>P%7,'[NW I]ZHXARR<^2['Y'G>-X T.S?W=T1'+^KHV_T_-$Z
M#A6F\0N&_?0AO1(USF!BJ5,H@&_ 2C^\<R/GTU!2_TEL+\6@2S$84T^_U\"Q
M)'35^SL&,VYD(B.CN\@FC2Z]P D2>]//9< LC%S?Z<SV*,..,ARE7!2,RS,)
MO'H+L]$)>_%=Q[F,PP/,8[/X,G*B8<JHHXQ&*6]>T-2QRHG(U.D@= TY8DV9
M&1V$CHYH L?\P7O,QU:^ZUVXP\QQQQR/,O]@$I=O%34^^J@7OJ\0#P"/S>(H
M=MSX@-#N-;8*^,KT>Z&BKZEL6D6WVETIUZ:3'JQ/U573W PO,LT]=8OYBE"A
M\EHJ2><\5E7C3>]O)I+5IGT^,JF:L1D6ZKH$K@W4_I(QN9OH -T%G/X%4$L#
M!!0    ( )R*?E8?L/DN@P(  (,&   9    >&PO=V]R:W-H965T<R]S:&5E
M=#<P+GAM;*U5:V_3,!3]*U9 :$BP/)NM(XVTMB"0F)A6#3Y[R6UCS;&#[;3C
MWW/MI*'KV@HDOB1^W'-\SLWU3;:1ZE%7 (8\U5SHB5<9TUSYOBXJJ*D^EPT(
MW%E*55.#4[7R=:. E@Y4<S\*@M2O*1->GKFU6Y5GLC6<";A51+=U3=6O*7"Y
MF7BAMUVX8ZO*V 4_SQJZ@@68^^96X<P?6$I6@]!,"J)@.?&NPZO9R,:[@.\,
M-GIG3*R3!RD?[>1+.?$"*P@X%,8R4'RM80:<6R*4\;/G](8C+7!WO&7_Y+RC
MEP>J82;Y#U:::N)=>J2$)6VYN9.;S]#[<0(+R;5[DDT7FXX]4K3:R+H'HX*:
MB>Y-G_H\[ #"] @@Z@'1/B Y HA[0.R,=LJ<K3DU-,^4W!!EHY'-#EQN'!K=
M,&&_XL(HW&6(,_E7P!QH\IXLVJ;A@-_'4$X*JBNRQ"],F.@JQ:;\; Z&,J[?
M8OC]8D[.7K_-?(,B+)5?] =.NP.C(P>&$;F1PE2:?!0EE,\)?%0_6(BV%J;1
M2<8Y%.<D#M^1*(BB X)F?P\/3\B)AXS&CB\^F=%#B>EPR6&<O:Y7NJ$%3#R\
MCQK4&KS\S:LP#3X<,O6?R)Y93 :+R2GV_%L#"DM"K+I"P>9@:T43+!4BASU^
M-!$=>^K8;9M9YQ=)E([3S%_O6CP0%@9!E QAS\2/!O&C?Q'?*U>R?B$=R[QD
MNL!J9:*%<KLOQ4%3HQ=JQZ-QL&?I95!\&27IGB-_YS[7H%:NS6E2R%:8[EX,
MJT,GO78-9&]]BAVV:XA_:+KV?$/5B@F-3I=(&9Q?H#+5M;QN8F3CNL:#--B#
MW+#"OP0H&X#[2RG-=F(/&/X[^6]02P,$%     @ G(I^5FNY%!8G P  A@P
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
M:]WK@C +]/N*<_4P,!\8NN?\%U!+ P04    " "<BGY6+?)NL),$   8$@
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
M;IAB-P5E#7!_(Z4Y3FR IC_'OP%02P,$%     @ G(I^5D<*+XT8!   =@T
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
MBG1RJM3/3JXU4+21IQ42*1N)9]FI,U%JILIV66@>7*-C#+K&^4?D^>$\D9I
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
M(HW7PPVC")EIP-SJH!R*!&JE@0F1"2T]766:KL?818E 5$DIK!B:%R22467
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
MR?BS8K(O%H)F^7 \HT*.VOGA2KX- 5,%\OJ24O&T4/-V]7X5_@%02P,$%
M  @ G(I^5G/1_I=6 P  Z X  !D   !X;"]W;W)K<VAE971S+W-H965T.#(N
M>&ULM5==;],P%/TK5D ()%B^/SK:2NL*8A*3IE6#!\2#E]RVUA*[V.X*_'IL
M)TN3+@M,I"]M;-][?,_Q2>L[WC%^)]8 $OTL<BHFUEK*S:EMBW0-!18G; -4
MK2P9+[!40[ZRQ88#SDQ2D=N>XT1V@0FUIF,S=\6G8[:5.:%PQ9'8%@7FOV:0
ML]W$<JV'B6NR6DL]84_'&[R"!<B;S157([M&R4@!5!!&$8?EQ#IS3\_=0">8
MB"\$=J+QC#256\;N]. BFUB.K@AR2*6&P.KK'LXASS62JN-'!6K5>^K$YO,#
M^D=#7I&YQ0+.6?Z59'(]L1(+9;#$VUQ>L]TGJ B%&B]EN3"?:%?&1J&%TJV0
MK*B2504%H>4W_ED)T4APHR<2O"K!.TP(GDCPJP3?$"TK,[3F6.+IF+,=XCI:
MH>D'HXW)5FP(U<>XD%RM$I4GIPM8J4.1B-#2$EK:=^@LRXA^Q#FZ:"R\GH/$
M)!=O5,C-8HY>OWPSMJ6J0F/9:;7CK-S1>V)'UT.7C,JU0!]H!ED;P%;EUQR\
M!PXSKQ=Q#ND)\MVWR',\KZ.@\W]/=WO*\6M)?8,7/(%W;41"WRZAN 7^O4NA
M7@#]YIZ*#4YA8JE74P"_!VOZZH4;.>^[V T$UN(:U%P#@^[_Q3[7L&%<$KIJ
M^>7;9Q6.+B04HE.&8$@9!@)KR1#6,H2]1SX'!9H2P_HM4J,<RA\IFJ&S0BOS
MVZQUB5 B1P99_^C>3SU_I.KRQ_9]DU]'7.C&@1/7<:W2H[KTJ+?TV3:_Z_5J
M;_IS#VD@L!;3N&8:']&K\9 R# 36DB&I94B.YM42.6QZ,/&C>!0<>/5QG._[
M;A@&W5X=U:6/>DM?*"E("J+7K[T0SSVH@<!:;%UG_]_L'-&Q%?A 2@R%UI:B
M<4UQC^;:"KIIQR@.0B<Y<&U'7)QX2>)UN];U]L5[O<5?8KI=J@OKENLSO*%$
M]ENX'^[9)S<06IO\_C;D^L<T\:!7I:'0VE+L+TMN[R7D_TP<//[_3X+@T36A
M,V[DCYP#$]N-GJ$ OC*ME$ IVU)97KWKV;I=.S--RL'\3+=QIA?9PY0]X"7F
M*T(%RF&I()V36+U9O&RKRH%D&].9W#*I^ASSN%:M*' =H-:7C,F'@=Z@;FZG
M?P!02P,$%     @ G(I^5E,+0+8K!0  CR$  !D   !X;"]W;W)K<VAE971S
M+W-H965T.#,N>&ULQ5K9;N,V%/T50BV*&:"-1%)K:AN8+(,)T*!!@FD?!GU@
M9-I61Q)=DHZ3OR^U1+1LF6,C#/R2:+GWZ"['Q!&O1FO&OXL%I1(\%WDIQLY"
MRN6YZXIT00LBSMB2ENK.C/&"2'7*YZY8<DJFM5.1N\CS0K<@6>E,1O6U.SX9
ML97,LY+><2!614'XRP7-V7KL0.?UPGTV7\CJ@CL9+<F</E#Y=7G'U9G;H4RS
M@I8B8R7@=#9V/L'S2^Q7#K7%7QE=BXUC4*7RR-CWZN1F.G:\*B*:TU16$$3]
M>Z*7-,\K)!7'?RVHTSVS<MP\?D7_7">ODGDD@EZR_.]L*A=C)W; E,[(*I?W
M;/V%M@D%%5[*<E'_!>O6UG- NA*2%:VSBJ#(RN8_>6X+L>$ PST.J'5 VP[^
M'@?<.N ZT2:R.JTK(LEDQ-D:\,I:H54'=6UJ;Y5-5E9M?)!<W<V4GYQ<,B$!
MFZF./-%R104@Y13,:4DYR>MC,E5/S83DI*HWH,^*0$+9_09V7#]<44FR7'Q4
M-[\^7($//W\<N5(%63W*3=N +IJ T)Z ( *WK)0+ :[+*9WV 5R579<B>DWQ
M AD1KVAZ!C#\%2 /H8& +@]WAX9P<%=Q7.-AVQ7_]H=" C>2%N*?H;HVC_6'
M'ULM!^=B25(Z=M3O75#^1)W)+S_!T/M]J":6P'H5\KL*^2;T[0H-Y=H A#5
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
MN0(Z!YX'J.\7C,G7FWR!^NQR_ U02P,$%     @ G(I^5@!VEH;" @  _@<
M !D   !X;"]W;W)K<VAE971S+W-H965T.#4N>&ULK55M;]HP$/XK5B9-G;22
M-R!=!Y$*[;1]J(2*MGUVDPM8.'9F&U+^_<X.9( "8E*_)+9S]_AY[BYWHUJJ
ME5X"&/)6<J''WM*8ZM[W=;:$DNJ>K$#@ET*JDAK<JH6O*P4T=TXE]Z,@&/HE
M9<)+1^YLIM*17!O.!,P4T>NRI&H[ 2[KL1=Z^X,7ME@:>^"GHXHN8 [F9S53
MN/-;E)R5(#23@B@HQMY#>#]-K+TS^,6@U@=K8I6\2KFRFQ_YV LL(>"0&8M
M\;6!*7!N@9#&GQVFUUYI'0_7>_1O3CMJ>:4:II+_9KE9CKT[C^10T#4W+[+^
M#CL] XN72:[=D]2-;8+&V5H;6>Z<D4')1/.F;[LX'#A$_3,.T<XANM8AWCG$
M3FC#S,EZI(:F(R5KHJPUHMF%BXWS1C5,V"S.C<*O#/U,.C<R6]W:0.0DDR46
MAZ8NOK=DSA:"%2RCPI#:A0-MZ 849I=0C7FOK*4F-X]@*./ZT\@W2,D"^]GN
M^DES?73F^C BSU*8I29/(H?\&,!'+:V@:"]H$EU$?(2L1^+P,XF"*.H@-+W>
M/;Q )V[C&SN\^#_CVQ6J!JG?C61_YWM=T0S&'OZO&M0&O/3CAW 8?.V2^4Y@
M1Z+[K>C^)?3TA>D5*10 8<( XANBJ($NS0U0V)2G;3F;-.@%X; _\C>'<KKM
M@J@U.R(Z:(D.+A)]>JNPG6!JI"MEPED!Y&8+5'47\V6TD%A/$I&R*6DL[IQN
M=5=VW@'H2/"P%3R\3O!&<JQ#SLRV2^>P*]K])!R<9*73+@Z_G$E+TK),KF.9
MLPW+0>1DRX#G74R3SKJ(XE.F9^SNDA.F_D$K+4$MW(31^.NNA6F:4'O:#K$'
MU[M/SB<XW)I9] ^FF8S/5"T8MDT.!4(&O02+0373IMD86;F&_2H-MG^W7.*
M!F4-\'LAI=EO[ 7MR$__ E!+ P04    " "<BGY6\5O& [(#   X#   &0
M 'AL+W=O<FMS:&5E=',O<VAE970X-BYX;6REEVV/VC@0@/_***VJK720%T*
M+41B=]N[2JV*=M56I]-],,D0K$WBU#:P2/?CSW9"R!XD9:_[81,[GIEGQF//
M,-TQ_BC6B!*>LC07,VLM97%MVR):8T9$GQ68JR\KQC,BU9 GMB@XDM@(9:GM
M.4Y@9X3F5C@U<PL>3ME&IC3'!0>QR3+"]S>8LMW,<JW#Q#U-UE)/V.&T( D^
MH/Q:++@:V;66F&:8"\IRX+B:67/W^L8=:@&SXAO%G6B\@W9ER=BC'GR,9Y:C
MB3#%2&H51#VV>(MIJC4ICA^54JNVJ06;[P?M'XSSRIDE$7C+TN\TENN9-;8@
MQA79I/*>[?[ RB$#&+%4F/^PJ]8Z%D0;(5E6"2N"C.;EDSQ5@6@(^&T"7B7@
M&>[2D*&\(Y*$4\YVP/5JI4V_&%>-M(*CN=Z5!\G55ZKD9/@@6?38TW[%$+%,
M;;8@)EP],)^ %<?H4;F'JSN4A*;B[=26RK[68D>5K9O2EM=BR_7@,\OE6L#[
M/,;XN0);@=?TWH'^QNO4>(=1'P;N;^ YG@=?'^[@ZO5;> TVB#7A**I'AZ5!
M':>!L31HBY-65,7IMAFG.><D3U EJH3E'IKK%F1OIN<[PF/XZY-2"1\E9N+O
M<[$K[?OG[>O#>2T*$N',4J=/(-^B%;YYY0;.NP[O_-H[OTM[^&4CA21Y3/,$
MB 2Y1EAB0O-<3[ 5%,@IBZ'WQ22#@'_.!K;TH[0T-);TG; -7<>?.%-[>P9P
M6 ,..P%_5T&6*J0]N 1A>(K@38(6A*!&"#H1WC\ACZBX&"(X@>@-G, _#S&J
M(4:=$.HF6B%5D;#QJ:#\8IC1*<PX\(/S,.,:9OS2K,%R],*4&9_NESOR6_9K
M4M--+J7K?3>7LXK6?(M<%1LX;"8L.(VP,^<;\3U>+.>\*'%&S[*N/QF?]\)U
MCA>T<TGJ_]2'G^%59L;/#F;?'[7P-0J(>]FY^'5"]X1PW!\-6@"](Z#WLC/S
MZZ#>">BD/YXXC3^WA?I8;]S."___I._IX;LX=RN89\D[Z \G+5X<ZXI[<6$Y
M]>(>==NHD6]56\!5B[$A*7RB*X2K/Y'PEAZCVZ('>RT*/F1EK^$.(";[KA[
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
M,E<?UY0DE,D"XOY]6?+G+[*"[:\U7/P-4$L#!!0    ( )R*?E9;F9>P& 0
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
M= V<-Y=ZFP+"#-#W(\[5>\<4PM7&)_@'4$L#!!0    ( )R*?E8F#')<= (
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
MF\I"B*_VXJ_ER MLCX!"KJT%-H<=3(%2ZV3Z\:TR]>J85GAX_N+^NTO>)+/
M"J:"/I&EWHR\&P\M884+JA_%_D^H$KJV?KF@ROVB?=FVGW@H+Y06K!*;'C#"
MRR/^7H$X$(3],X*H$D2G@G,1XDH0OU605(+$D2E3<1PRK'$ZE&*/I&UMW.R)
M@^G4)GW"[;C/M31/B='I="H8(]H,I%8(\R7*!=>$KX'G!!1ZGX'&A*H/Z"/Z
M,L_0^W<?T#M$.'H@E)IA4T-?FTY8*S^O D[*@-&9@&&$'DR,C4+W? G+8P/?
M]+Y.(7I)81*U.F:0]U <7J$HB.*&#DW?+H\:Y-G;Y6%+-G$](+'SB\\.R,$
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
ME8R,B@GZ(+@^*/0K3UAR&F !%&H>Y)G'-9F,>,/BM\C%%X@XA P VGR_.YZ
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
MCVG.D4*NU"P>-8?20$3;8T.P6BP^0"X99K>]9!:G<Z17B%S7G:4]VR]/06^
MKSI,<4)I2$LS#O#-TG\R]_,,-47E2B.56QIXT^7^=N!)T:$B6!::1<G3HAVE
M?QW']I#3Z:]C(K1Z6^CY<6A4"H[<8R6,<6*T_C6"R0_L?@!02P,$%     @
MG(I^5AC>Q!($!P  PSX   \   !X;"]W;W)K8F]O:RYX;6S%FUUSVC@4AO^*
MAJON3%F"\1>=IC-92%IFTB03,MW+'6,+HJDM>263M/WU>V0G5";BS-X<N *,
M,0^RK>>\DOCXK/3WE5+?V8^JE.9\\-@T]8?1R.2/O,K,GZKF$MY9*UUE#;S4
MFY&I-<\*\\AY4Y6CX.PL'E69D(-/'U^/=:='[@O5\+P12L)&N^&;X,_F]_OV
M)7L21JQ$*9J?YX/V><D'K!)25.(7+\X'9P-F'M7S%Z7%+R6;K%SF6I7E^6#<
MO?&-ZT;D;S8O+>1#MC+MEB9;W6< <CZ(S^" :Z%-T^[1'C\#QB<..W>OMHVZ
M$F7#]3QK^&>MMK60&WL8^!4CYV>T[?#ZV#7B!_U_FE&MUR+G<Y5O*RZ;KATU
M+RV@-(^B-@,FLXJ?#UYW89DLV*5LH)'80G:'@GWM+X6O7A3=KVX UVE#_4'
M&WI1M.!TD+/;F^7M]6)^\7 Y9W]=7%_<S"[9\LOEY</2 0P0P.!D@.S=7>9
M3A#(R1$AEP_P\/7R!@!OK]CB9G;K0(8(9'A"R'\"!S)"(*.302X?;F<.9(Q
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
M_YU4CY?OUMOCK\NOBY-W_(IS>U\Q//T%4$L#!!0    ( )R*?E9&_2!Z3 (
M )XV   3    6T-O;G1E;G1?5'EP97-=+GAM;,W;36[;,!"&X:L8V@:6(I*B
MJ"+.INVVS:(74"4Z%JP_D$SJW+ZTG 1HD1H-7*#OQH)-<KX1!WAVOOGV-%N_
M.@S]Z#?)+H3Y0Y;Y9F>'VJ?3;,>XLIW<4(?XU=UG<]WLZWN;B>MKG373&.P8
MUN%8([F]^62W]4,?5I\/\6??3>,F<;;WR>KC:>,Q:Y/4\]QW31WB>O8XMK^E
MK)\3TGARV>-WW>ROXH8D>S/AN/+G@.=S7Q^M<UUK5W>U"U_J(>[*#GWFPU-O
M?7J^Q!L]3MMMU]AV:AZ&>"3UL[-UZW?6AJ%/3T6OSB>'>,/V])E?G+^4.1<8
M=]ZY:?9Q8LZ^/^YE),?3ZSD6LBYTYU_Q-3&6OOC]['':K6W_,CM>[X_)[9=Y
M^&QY7'['O\[XM?X[^Q"0/B2D#P7IHX#TH2%]E) ^#*2/"M)'?DUIA")J3B$U
MIYB:4U#-*:KF%%9SBJLY!=:<(JN@R"HHL@J*K((BJZ#(*BBR"HJL@B*KH,@J
M*+)*BJR2(JNDR"HILDJ*K)(BJZ3(*BFR2HJLDB*KHLBJ*+(JBJR*(JNBR*HH
MLBJ*K(HBJZ+(JBBR%A19"XJL!476@B)K09&UH,A:4&0M*+(6%%D+BJR:(JNF
MR*HILFJ*K)HBJZ;(JBFR:HJLFB*KILA:4F0M*;*6%%E+BJPE1=:2(FM)D;6D
MR%I29"TILAJ*K(8BJZ'(:BBR&HJLAB*KH<AJ*+(:BJR&(FM%D;6BR%I19*TH
MLE8462N*K-7_E/7[-.W_<?SR3(>Z&U_RL^5O:;<_ 5!+ 0(4 Q0    ( )N*
M?E8'04UB@0   +$    0              "  0    !D;V-0<F]P<R]A<' N
M>&UL4$L! A0#%     @ FXI^5OV;Q6SM    *P(  !$              ( !
MKP   &1O8U!R;W!S+V-O<F4N>&UL4$L! A0#%     @ FXI^5IE<G",0!@
MG"<  !,              ( !RP$  'AL+W1H96UE+W1H96UE,2YX;6Q02P$"
M% ,4    " ";BGY6%BRRBZH'  !.,P  &               @($,"   >&PO
M=V]R:W-H965T<R]S:&5E=#$N>&UL4$L! A0#%     @ FXI^5KL^H\[Z"
M_RD  !@              ("![ \  'AL+W=O<FMS:&5E=',O<VAE970R+GAM
M;%!+ 0(4 Q0    ( )N*?E8_OF5;.P,   $-   8              " @1P9
M  !X;"]W;W)K<VAE971S+W-H965T,RYX;6Q02P$"% ,4    " ";BGY6,RHE
MG"D'  "['@  &               @(&-'   >&PO=V]R:W-H965T<R]S:&5E
M=#0N>&UL4$L! A0#%     @ FXI^5GX=Z,2I @  5P<  !@
M ("![",  'AL+W=O<FMS:&5E=',O<VAE970U+GAM;%!+ 0(4 Q0    ( )N*
M?E:)EQ[(L <  (4O   8              " @<LF  !X;"]W;W)K<VAE971S
M+W-H965T-BYX;6Q02P$"% ,4    " ";BGY6-9JB]7\*  "F+P  &
M        @(&Q+@  >&PO=V]R:W-H965T<R]S:&5E=#<N>&UL4$L! A0#%
M  @ FXI^5A-PGM^H P  7 @  !@              ("!9CD  'AL+W=O<FMS
M:&5E=',O<VAE970X+GAM;%!+ 0(4 Q0    ( )N*?E:QWH'7_Q@  .=3   8
M              " @40]  !X;"]W;W)K<VAE971S+W-H965T.2YX;6Q02P$"
M% ,4    " ";BGY6_&'?HI #  !;"0  &0              @(%Y5@  >&PO
M=V]R:W-H965T<R]S:&5E=#$P+GAM;%!+ 0(4 Q0    ( )N*?E:M'0$=00,
M /4(   9              " @4!:  !X;"]W;W)K<VAE971S+W-H965T,3$N
M>&UL4$L! A0#%     @ FXI^5E/C()F4 @  ,08  !D              ("!
MN%T  'AL+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q02P$"% ,4    " ";BGY6
MHB:J4I,#  !D"0  &0              @(&#8   >&PO=V]R:W-H965T<R]S
M:&5E=#$S+GAM;%!+ 0(4 Q0    ( )N*?E:D+WZA#00  "T*   9
M      " @4UD  !X;"]W;W)K<VAE971S+W-H965T,30N>&UL4$L! A0#%
M  @ FXI^5G$*0Z%-#P  12H  !D              ("!D6@  'AL+W=O<FMS
M:&5E=',O<VAE970Q-2YX;6Q02P$"% ,4    " ";BGY6:ACQR=(#   :"@
M&0              @($5>   >&PO=V]R:W-H965T<R]S:&5E=#$V+GAM;%!+
M 0(4 Q0    ( )N*?E9^9K#[V@<  $(8   9              " @1Y\  !X
M;"]W;W)K<VAE971S+W-H965T,3<N>&UL4$L! A0#%     @ FXI^5I?VQA\'
M!P  3Q4  !D              ("!+X0  'AL+W=O<FMS:&5E=',O<VAE970Q
M."YX;6Q02P$"% ,4    " ";BGY601?7%6,$  !<#   &0
M@(%MBP  >&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM;%!+ 0(4 Q0    ( )N*
M?E9B$GK>B0(  %,&   9              " @0>0  !X;"]W;W)K<VAE971S
M+W-H965T,C N>&UL4$L! A0#%     @ FXI^5J(<?G_B"P  FRD  !D
M         ("!QY(  'AL+W=O<FMS:&5E=',O<VAE970R,2YX;6Q02P$"% ,4
M    " ";BGY6JC/)+!0$  #G"@  &0              @('@G@  >&PO=V]R
M:W-H965T<R]S:&5E=#(R+GAM;%!+ 0(4 Q0    ( )N*?E9'?C*X$@L  ,LC
M   9              " @2NC  !X;"]W;W)K<VAE971S+W-H965T,C,N>&UL
M4$L! A0#%     @ FXI^5J9V"2U3 P  # @  !D              ("!=*X
M 'AL+W=O<FMS:&5E=',O<VAE970R-"YX;6Q02P$"% ,4    " ";BGY6X&(2
M6-H'   ,&   &0              @('^L0  >&PO=V]R:W-H965T<R]S:&5E
M=#(U+GAM;%!+ 0(4 Q0    ( )N*?E8D%)@LQ0H  #L=   9
M  " @0^Z  !X;"]W;W)K<VAE971S+W-H965T,C8N>&UL4$L! A0#%     @
MFXI^5EMVVWK6 P  :PD  !D              ("!"\4  'AL+W=O<FMS:&5E
M=',O<VAE970R-RYX;6Q02P$"% ,4    " ";BGY636N.X>X#   4"@  &0
M            @($8R0  >&PO=V]R:W-H965T<R]S:&5E=#(X+GAM;%!+ 0(4
M Q0    ( )N*?E:$6*WD+@(  &0%   9              " @3W-  !X;"]W
M;W)K<VAE971S+W-H965T,CDN>&UL4$L! A0#%     @ FXI^5EIW[85D P
M<P<  !D              ("!HL\  'AL+W=O<FMS:&5E=',O<VAE970S,"YX
M;6Q02P$"% ,4    " ";BGY6VDN.W>D9   =7   &0              @($]
MTP  >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;%!+ 0(4 Q0    ( )N*?E9A
MQ#N:<@,  $<(   9              " @5WM  !X;"]W;W)K<VAE971S+W-H
M965T,S(N>&UL4$L! A0#%     @ FXI^5F;ZU#7A @  70<  !D
M     ("!!O$  'AL+W=O<FMS:&5E=',O<VAE970S,RYX;6Q02P$"% ,4
M" ";BGY6_I8$IC<#  !$"0  &0              @($>]   >&PO=V]R:W-H
M965T<R]S:&5E=#,T+GAM;%!+ 0(4 Q0    ( )N*?E;\0#7LH (  #$&   9
M              " @8SW  !X;"]W;W)K<VAE971S+W-H965T,S4N>&UL4$L!
M A0#%     @ FXI^5MPT .8? P  ;0@  !D              ("!8_H  'AL
M+W=O<FMS:&5E=',O<VAE970S-BYX;6Q02P$"% ,4    " ";BGY6&B7O6$,#
M   V"   &0              @(&Y_0  >&PO=V]R:W-H965T<R]S:&5E=#,W
M+GAM;%!+ 0(4 Q0    ( )N*?E:8H_,,BP,  &0)   9              "
M@3,! 0!X;"]W;W)K<VAE971S+W-H965T,S@N>&UL4$L! A0#%     @ FXI^
M5CQY9?]G P  2PD  !D              ("!]00! 'AL+W=O<FMS:&5E=',O
M<VAE970S.2YX;6Q02P$"% ,4    " ";BGY6;W?NNY(%  #I$@  &0
M        @(&3" $ >&PO=V]R:W-H965T<R]S:&5E=#0P+GAM;%!+ 0(4 Q0
M   ( )N*?E;X=WY:NP8  , 5   9              " @5P. 0!X;"]W;W)K
M<VAE971S+W-H965T-#$N>&UL4$L! A0#%     @ FXI^5C@$;6R_ P  # H
M !D              ("!3A4! 'AL+W=O<FMS:&5E=',O<VAE970T,BYX;6Q0
M2P$"% ,4    " ";BGY6JHB6J#D"  "E!0  &0              @(%$&0$
M>&PO=V]R:W-H965T<R]S:&5E=#0S+GAM;%!+ 0(4 Q0    ( )N*?E9/+.?^
MP@D  +LD   9              " @;0; 0!X;"]W;W)K<VAE971S+W-H965T
M-#0N>&UL4$L! A0#%     @ FXI^5FOU]-$A!   N H  !D
M ("!K24! 'AL+W=O<FMS:&5E=',O<VAE970T-2YX;6Q02P$"% ,4    " ";
MBGY6\SJ_FPP%   1$   &0              @($%*@$ >&PO=V]R:W-H965T
M<R]S:&5E=#0V+GAM;%!+ 0(4 Q0    ( )N*?E;C7R\EYP(  #8+   9
M          " @4@O 0!X;"]W;W)K<VAE971S+W-H965T-#<N>&UL4$L! A0#
M%     @ FXI^5OJW_ZCU P  [ D  !D              ("!9C(! 'AL+W=O
M<FMS:&5E=',O<VAE970T."YX;6Q02P$"% ,4    " ";BGY6JT(*GKP$   \
M'@  &0              @(&2-@$ >&PO=V]R:W-H965T<R]S:&5E=#0Y+GAM
M;%!+ 0(4 Q0    ( )N*?E8)*+3=S0,  +02   9              " @84[
M 0!X;"]W;W)K<VAE971S+W-H965T-3 N>&UL4$L! A0#%     @ FXI^5D7@
MYD3- P  \!4  !D              ("!B3\! 'AL+W=O<FMS:&5E=',O<VAE
M970U,2YX;6Q02P$"% ,4    " ";BGY6E: W)6@'   %2@  &0
M    @(&-0P$ >&PO=V]R:W-H965T<R]S:&5E=#4R+GAM;%!+ 0(4 Q0    (
M )N*?E8E^M8P)P0  "8,   9              " @2Q+ 0!X;"]W;W)K<VAE
M971S+W-H965T-3,N>&UL4$L! A0#%     @ FXI^5C@FW._\ P  \Q(  !D
M             ("!BD\! 'AL+W=O<FMS:&5E=',O<VAE970U-"YX;6Q02P$"
M% ,4    " ";BGY69%].FX<#  ">#P  &0              @(&]4P$ >&PO
M=V]R:W-H965T<R]S:&5E=#4U+GAM;%!+ 0(4 Q0    ( )N*?E;1,D?*_P(
M ,@*   9              " @7M7 0!X;"]W;W)K<VAE971S+W-H965T-38N
M>&UL4$L! A0#%     @ FXI^5K(^NW[9 @  A@@  !D              ("!
ML5H! 'AL+W=O<FMS:&5E=',O<VAE970U-RYX;6Q02P$"% ,4    " ";BGY6
MPA*TC3$#  #>#0  &0              @('!70$ >&PO=V]R:W-H965T<R]S
M:&5E=#4X+GAM;%!+ 0(4 Q0    ( )N*?E:6>RK_Z@0  !\9   9
M      " @2EA 0!X;"]W;W)K<VAE971S+W-H965T-3DN>&UL4$L! A0#%
M  @ FXI^5M2EB(S?!   4AT  !D              ("!2F8! 'AL+W=O<FMS
M:&5E=',O<VAE970V,"YX;6Q02P$"% ,4    " ";BGY6G)N_^;4"  !U!P
M&0              @(%@:P$ >&PO=V]R:W-H965T<R]S:&5E=#8Q+GAM;%!+
M 0(4 Q0    ( )N*?E9QDQ<[T@D  #UU   9              " @4QN 0!X
M;"]W;W)K<VAE971S+W-H965T-C(N>&UL4$L! A0#%     @ FXI^5B#E'<D/
M!   >0X  !D              ("!57@! 'AL+W=O<FMS:&5E=',O<VAE970V
M,RYX;6Q02P$"% ,4    " ";BGY6VV7K#ET#  #:"@  &0
M@(&;? $ >&PO=V]R:W-H965T<R]S:&5E=#8T+GAM;%!+ 0(4 Q0    ( )N*
M?E9'<^'WR@,  (H4   9              " @2^  0!X;"]W;W)K<VAE971S
M+W-H965T-C4N>&UL4$L! A0#%     @ FXI^5@$DYD)G @  S 8  !D
M         ("!,(0! 'AL+W=O<FMS:&5E=',O<VAE970V-BYX;6Q02P$"% ,4
M    " "<BGY66L/DG.L$   Z)@  &0              @('.A@$ >&PO=V]R
M:W-H965T<R]S:&5E=#8W+GAM;%!+ 0(4 Q0    ( )R*?E9E1; XA 0  .05
M   9              " @?"+ 0!X;"]W;W)K<VAE971S+W-H965T-C@N>&UL
M4$L! A0#%     @ G(I^5MEA.^BS @  C <  !D              ("!JY !
M 'AL+W=O<FMS:&5E=',O<VAE970V.2YX;6Q02P$"% ,4    " "<BGY6'[#Y
M+H,"  "#!@  &0              @(&5DP$ >&PO=V]R:W-H965T<R]S:&5E
M=#<P+GAM;%!+ 0(4 Q0    ( )R*?E9KN106)P,  (8,   9
M  " @4^6 0!X;"]W;W)K<VAE971S+W-H965T-S$N>&UL4$L! A0#%     @
MG(I^5@&TY68+ P   @D  !D              ("!K9D! 'AL+W=O<FMS:&5E
M=',O<VAE970W,BYX;6Q02P$"% ,4    " "<BGY6E>UCN@L#   7"@  &0
M            @('OG $ >&PO=V]R:W-H965T<R]S:&5E=#<S+GAM;%!+ 0(4
M Q0    ( )R*?E:C7AL7;P,  $D+   9              " @3&@ 0!X;"]W
M;W)K<VAE971S+W-H965T-S0N>&UL4$L! A0#%     @ G(I^5BWR;K"3!
M&!(  !D              ("!UZ,! 'AL+W=O<FMS:&5E=',O<VAE970W-2YX
M;6Q02P$"% ,4    " "<BGY6@NQ53KP"  "K!P  &0              @(&A
MJ $ >&PO=V]R:W-H965T<R]S:&5E=#<V+GAM;%!+ 0(4 Q0    ( )R*?E9'
M"B^-& 0  '8-   9              " @92K 0!X;"]W;W)K<VAE971S+W-H
M965T-S<N>&UL4$L! A0#%     @ G(I^5O?H8J3H @  ;@T  !D
M     ("!XZ\! 'AL+W=O<FMS:&5E=',O<VAE970W."YX;6Q02P$"% ,4
M" "<BGY6G&RA06L+   S/P  &0              @($"LP$ >&PO=V]R:W-H
M965T<R]S:&5E=#<Y+GAM;%!+ 0(4 Q0    ( )R*?E9=SM+->P0  $$7   9
M              " @:2^ 0!X;"]W;W)K<VAE971S+W-H965T.# N>&UL4$L!
M A0#%     @ G(I^5FOH*+8K P  :PT  !D              ("!5L,! 'AL
M+W=O<FMS:&5E=',O<VAE970X,2YX;6Q02P$"% ,4    " "<BGY6<]'^EU8#
M  #H#@  &0              @(&XQ@$ >&PO=V]R:W-H965T<R]S:&5E=#@R
M+GAM;%!+ 0(4 Q0    ( )R*?E93"T"V*P4  (\A   9              "
M@47* 0!X;"]W;W)K<VAE971S+W-H965T.#,N>&UL4$L! A0#%     @ G(I^
M5L49':"K!   QQP  !D              ("!I\\! 'AL+W=O<FMS:&5E=',O
M<VAE970X-"YX;6Q02P$"% ,4    " "<BGY6 ':6AL("  #^!P  &0
M        @(&)U $ >&PO=V]R:W-H965T<R]S:&5E=#@U+GAM;%!+ 0(4 Q0
M   ( )R*?E;Q6\8#L@,  #@,   9              " @8+7 0!X;"]W;W)K
M<VAE971S+W-H965T.#8N>&UL4$L! A0#%     @ G(I^5L]!OZ[.!   *R$
M !D              ("!:]L! 'AL+W=O<FMS:&5E=',O<VAE970X-RYX;6Q0
M2P$"% ,4    " "<BGY670V@TRL)  "Y00  &0              @(%PX $
M>&PO=V]R:W-H965T<R]S:&5E=#@X+GAM;%!+ 0(4 Q0    ( )R*?E9;F9>P
M& 0   46   9              " @=+I 0!X;"]W;W)K<VAE971S+W-H965T
M.#DN>&UL4$L! A0#%     @ G(I^5H[;)&3< @  ! T  !D
M ("!(>X! 'AL+W=O<FMS:&5E=',O<VAE970Y,"YX;6Q02P$"% ,4    " "<
MBGY6)@QR7'0"  #.!0  &0              @($T\0$ >&PO=V]R:W-H965T
M<R]S:&5E=#DQ+GAM;%!+ 0(4 Q0    ( )R*?E;-G<NCQ (  &\'   9
M          " @=_S 0!X;"]W;W)K<VAE971S+W-H965T.3(N>&UL4$L! A0#
M%     @ G(I^5N??F:>B P  &1   !D              ("!VO8! 'AL+W=O
M<FMS:&5E=',O<VAE970Y,RYX;6Q02P$"% ,4    " "<BGY6<4'T\@(#  "X
M"0  &0              @(&S^@$ >&PO=V]R:W-H965T<R]S:&5E=#DT+GAM
M;%!+ 0(4 Q0    ( )R*?E8OT!K90P4  #D4   9              " @>S]
M 0!X;"]W;W)K<VAE971S+W-H965T.34N>&UL4$L! A0#%     @ G(I^5G+P
MXM[N @  DPH  !D              ("!9@," 'AL+W=O<FMS:&5E=',O<VAE
M970Y-BYX;6Q02P$"% ,4    " "<BGY6P3E6$$H#  #*%   #0
M    @ &+!@( >&PO<W1Y;&5S+GAM;%!+ 0(4 Q0    ( )R*?E:7BKL<P
M !,"   +              "  0 * @!?<F5L<R\N<F5L<U!+ 0(4 Q0    (
M )R*?E88WL02! <  ,,^   /              "  >D* @!X;"]W;W)K8F]O
M:RYX;6Q02P$"% ,4    " "<BGY6%#8 '+X"  !W.   &@
M@ $:$@( >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4    " "<
MBGY61OT@>DP"  ">-@  $P              @ $0%0( 6T-O;G1E;G1?5'EP
=97-=+GAM;%!+!08     : !H (\<  "-%P(    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>113
<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>114
<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>115
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.23.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>274</ContextCount>
  <ElementCount>446</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>104</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>9</UnitCount>
  <MyReports>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00090 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00100 - Statement - CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/StatementConsolidatedBalanceSheets</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/StatementConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00200 - Statement - CONSOLIDATED STATEMENTS OF INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00205 - Statement - CONSOLIDATED STATEMENTS OF INCOME (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/StatementConsolidatedStatementsOfIncomeParenthetical</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF INCOME (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>00400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>10101 - Disclosure - Principal activity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosurePrincipalActivity</Role>
      <ShortName>Principal activity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>10201 - Disclosure - Accounting policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureAccountingPolicies</Role>
      <ShortName>Accounting policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>10301 - Disclosure - Cash and cash equivalents</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureCashAndCashEquivalents</Role>
      <ShortName>Cash and cash equivalents</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>10401 - Disclosure - Accounts receivable, net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureAccountsReceivableNet</Role>
      <ShortName>Accounts receivable, net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>10501 - Disclosure - Inventory</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureInventory</Role>
      <ShortName>Inventory</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>10601 - Disclosure - Contracts in progress</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureContractsInProgress</Role>
      <ShortName>Contracts in progress</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>10701 - Disclosure - Property, plant and equipment and construction in progress</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgress</Role>
      <ShortName>Property, plant and equipment and construction in progress</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>10801 - Disclosure - Discontinued operations - Mexico project development</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopment</Role>
      <ShortName>Discontinued operations - Mexico project development</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>10901 - Disclosure - Intangible assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureIntangibleAssets</Role>
      <ShortName>Intangible assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>11001 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureLeases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>11101 - Disclosure - Income taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureIncomeTaxes</Role>
      <ShortName>Income taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>11201 - Disclosure - Earnings per share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureEarningsPerShare</Role>
      <ShortName>Earnings per share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>11301 - Disclosure - Dividends</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureDividends</Role>
      <ShortName>Dividends</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>11401 - Disclosure - Segment information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureSegmentInformation</Role>
      <ShortName>Segment information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>11501 - Disclosure - Cost of revenues and general and administrative expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpenses</Role>
      <ShortName>Cost of revenues and general and administrative expenses</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>11601 - Disclosure - Stock-based compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureStockBasedCompensation</Role>
      <ShortName>Stock-based compensation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>11701 - Disclosure - Retirement benefits</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureRetirementBenefits</Role>
      <ShortName>Retirement benefits</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>11801 - Disclosure - Financial instruments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureFinancialInstruments</Role>
      <ShortName>Financial instruments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>11901 - Disclosure - Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureContingencies</Role>
      <ShortName>Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>12001 - Disclosure - Related party transactions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureRelatedPartyTransactions</Role>
      <ShortName>Related party transactions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>12101 - Disclosure - Supplemental disclosure of cash flow information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformation</Role>
      <ShortName>Supplemental disclosure of cash flow information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>12201 - Disclosure - Impact of recent accounting standards</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureImpactOfRecentAccountingStandards</Role>
      <ShortName>Impact of recent accounting standards</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>12301 - Disclosure - Subsequent events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureSubsequentEvents</Role>
      <ShortName>Subsequent events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>30</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>20202 - Disclosure - Accounting policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureAccountingPoliciesPolicies</Role>
      <ShortName>Accounting policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureAccountingPolicies</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>30203 - Disclosure - Accounting policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureAccountingPoliciesTables</Role>
      <ShortName>Accounting policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureAccountingPolicies</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>30303 - Disclosure - Cash and cash equivalents (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureCashAndCashEquivalentsTables</Role>
      <ShortName>Cash and cash equivalents (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureCashAndCashEquivalents</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>30403 - Disclosure - Accounts receivable, net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureAccountsReceivableNetTables</Role>
      <ShortName>Accounts receivable, net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureAccountsReceivableNet</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>30503 - Disclosure - Inventory (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureInventoryTables</Role>
      <ShortName>Inventory (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureInventory</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>30603 - Disclosure - Contracts in progress (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureContractsInProgressTables</Role>
      <ShortName>Contracts in progress (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureContractsInProgress</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>30703 - Disclosure - Property, plant and equipment and construction in progress (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressTables</Role>
      <ShortName>Property, plant and equipment and construction in progress (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgress</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>30803 - Disclosure - Discontinued operations - Mexico project development (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentTables</Role>
      <ShortName>Discontinued operations - Mexico project development (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopment</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>30903 - Disclosure - Intangible assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureIntangibleAssetsTables</Role>
      <ShortName>Intangible assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureIntangibleAssets</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>31003 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureLeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureLeases</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>31103 - Disclosure - Income taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureIncomeTaxesTables</Role>
      <ShortName>Income taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureIncomeTaxes</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>31203 - Disclosure - Earnings per share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureEarningsPerShareTables</Role>
      <ShortName>Earnings per share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureEarningsPerShare</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>31303 - Disclosure - Dividends (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureDividendsTables</Role>
      <ShortName>Dividends (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureDividends</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>31403 - Disclosure - Segment information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureSegmentInformationTables</Role>
      <ShortName>Segment information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureSegmentInformation</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>31503 - Disclosure - Cost of revenues and general and administrative expenses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesTables</Role>
      <ShortName>Cost of revenues and general and administrative expenses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpenses</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>31603 - Disclosure - Stock-based compensation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureStockBasedCompensationTables</Role>
      <ShortName>Stock-based compensation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureStockBasedCompensation</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>31803 - Disclosure - Financial instruments (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureFinancialInstrumentsTables</Role>
      <ShortName>Financial instruments (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureFinancialInstruments</ParentRole>
      <Position>47</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>32103 - Disclosure - Supplemental disclosure of cash flow information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationTables</Role>
      <ShortName>Supplemental disclosure of cash flow information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformation</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>40201 - Disclosure - Accounting policies - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails</Role>
      <ShortName>Accounting policies - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>40202 - Disclosure - Accounting policies - Cash and cash equivalents (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureAccountingPoliciesCashAndCashEquivalentsDetails</Role>
      <ShortName>Accounting policies - Cash and cash equivalents (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>40203 - Disclosure - Accounting policies - Property, plant and equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails</Role>
      <ShortName>Accounting policies - Property, plant and equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>40204 - Disclosure - Accounting policies - Goodwill and intangible assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails</Role>
      <ShortName>Accounting policies - Goodwill and intangible assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>40205 - Disclosure - Accounting policies - Investments and Other assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureAccountingPoliciesInvestmentsAndOtherAssetsDetails</Role>
      <ShortName>Accounting policies - Investments and Other assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>40206 - Disclosure - Accounting policies - Disaggregated revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureAccountingPoliciesDisaggregatedRevenueDetails</Role>
      <ShortName>Accounting policies - Disaggregated revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>40301 - Disclosure - Cash and cash equivalents (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureCashAndCashEquivalentsDetails</Role>
      <ShortName>Cash and cash equivalents (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureCashAndCashEquivalentsTables</ParentRole>
      <Position>55</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>40401 - Disclosure - Accounts receivable, net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureAccountsReceivableNetDetails</Role>
      <ShortName>Accounts receivable, net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureAccountsReceivableNetTables</ParentRole>
      <Position>56</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>40402 - Disclosure - Accounts receivable, net - Allowance for doubtful accounts (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureAccountsReceivableNetAllowanceForDoubtfulAccountsDetails</Role>
      <ShortName>Accounts receivable, net - Allowance for doubtful accounts (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>40501 - Disclosure - Inventory (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureInventoryDetails</Role>
      <ShortName>Inventory (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureInventoryTables</ParentRole>
      <Position>58</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>40601 - Disclosure - Contracts in progress (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureContractsInProgressDetails</Role>
      <ShortName>Contracts in progress (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureContractsInProgressTables</ParentRole>
      <Position>59</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>40701 - Disclosure - Property, plant and equipment and construction in progress (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails</Role>
      <ShortName>Property, plant and equipment and construction in progress (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressTables</ParentRole>
      <Position>60</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>40702 - Disclosure - Property, plant and equipment and construction in progress - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressAdditionalInformationDetails</Role>
      <ShortName>Property, plant and equipment and construction in progress - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>40801 - Disclosure - Discontinued operations - Mexico project development- Narratives (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails</Role>
      <ShortName>Discontinued operations - Mexico project development- Narratives (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentTables</ParentRole>
      <Position>62</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>40802 - Disclosure - Discontinued operations - Mexico project development (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails</Role>
      <ShortName>Discontinued operations - Mexico project development (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentTables</ParentRole>
      <Position>63</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>40803 - Disclosure - Discontinued operations - Mexico project development - Financial Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentFinancialInformationDetails</Role>
      <ShortName>Discontinued operations - Mexico project development - Financial Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>40901 - Disclosure - Intangible assets - Costs and accumulated amortization (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails</Role>
      <ShortName>Intangible assets - Costs and accumulated amortization (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>40902 - Disclosure - Intangible assets - Amortization of intangible assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails</Role>
      <ShortName>Intangible assets - Amortization of intangible assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>40903 - Disclosure - Intangible assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureIntangibleAssetsDetails</Role>
      <ShortName>Intangible assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureIntangibleAssetsTables</ParentRole>
      <Position>67</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>41001 - Disclosure - Leases - Lease assets and liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails</Role>
      <ShortName>Leases - Lease assets and liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>41002 - Disclosure - Leases - Components of lease cost (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureLeasesComponentsOfLeaseCostDetails</Role>
      <ShortName>Leases - Components of lease cost (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>41003 - Disclosure - Leases - Supplemental cash flow information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails</Role>
      <ShortName>Leases - Supplemental cash flow information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>70</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>41004 - Disclosure - Leases - Future lease payments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails</Role>
      <ShortName>Leases - Future lease payments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>71</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>41101 - Disclosure - Income taxes - Components of income before income taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureIncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails</Role>
      <ShortName>Income taxes - Components of income before income taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>72</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>41102 - Disclosure - Income taxes - Provision for income taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails</Role>
      <ShortName>Income taxes - Provision for income taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>73</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>41103 - Disclosure - Income taxes - Reconciliation of federal tax rate to the effective rate (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails</Role>
      <ShortName>Income taxes - Reconciliation of federal tax rate to the effective rate (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>74</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>41104 - Disclosure - Income taxes - Net long-term deferred tax liability (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails</Role>
      <ShortName>Income taxes - Net long-term deferred tax liability (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>75</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>41105 - Disclosure - Income taxes - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureIncomeTaxesAdditionalInformationDetails</Role>
      <ShortName>Income taxes - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>76</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>41201 - Disclosure - Earnings per share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureEarningsPerShareDetails</Role>
      <ShortName>Earnings per share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureEarningsPerShareTables</ParentRole>
      <Position>77</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>41301 - Disclosure - Dividends (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureDividendsDetails</Role>
      <ShortName>Dividends (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureDividendsTables</ParentRole>
      <Position>78</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>41401 - Disclosure - Segment information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureSegmentInformationDetails</Role>
      <ShortName>Segment information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureSegmentInformationTables</ParentRole>
      <Position>79</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>41402 - Disclosure - Segment information - Revenues earned by major geographic region and major customer (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureSegmentInformationRevenuesEarnedByMajorGeographicRegionAndMajorCustomerDetails</Role>
      <ShortName>Segment information - Revenues earned by major geographic region and major customer (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>80</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>41403 - Disclosure - Segment information - Property, plant and equipment, net by major geographic region (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureSegmentInformationPropertyPlantAndEquipmentNetByMajorGeographicRegionDetails</Role>
      <ShortName>Segment information - Property, plant and equipment, net by major geographic region (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>81</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>41404 - Disclosure - Segment information - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureSegmentInformationAdditionalInformationDetails</Role>
      <ShortName>Segment information - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>82</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>41501 - Disclosure - Cost of revenues and general and administrative expenses - Cost of revenues (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails</Role>
      <ShortName>Cost of revenues and general and administrative expenses - Cost of revenues (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>83</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>41502 - Disclosure - Cost of revenues and general and administrative expenses - General and administrative expenses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesGeneralAndAdministrativeExpensesDetails</Role>
      <ShortName>Cost of revenues and general and administrative expenses - General and administrative expenses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>84</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>41601 - Disclosure - Stock-based compensation - Significant weighted average assumptions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureStockBasedCompensationSignificantWeightedAverageAssumptionsDetails</Role>
      <ShortName>Stock-based compensation - Significant weighted average assumptions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>85</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>41602 - Disclosure - Stock-based compensation - Stock option activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails</Role>
      <ShortName>Stock-based compensation - Stock option activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>86</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>41603 - Disclosure - Stock-based compensation - Weighted average fair value of options at the date of grant and the intrinsic value of options exercised (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails</Role>
      <ShortName>Stock-based compensation - Weighted average fair value of options at the date of grant and the intrinsic value of options exercised (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>87</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>41604 - Disclosure - Stock-based compensation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureStockBasedCompensationDetails</Role>
      <ShortName>Stock-based compensation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureStockBasedCompensationTables</ParentRole>
      <Position>88</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>41701 - Disclosure - Retirement benefits (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureRetirementBenefitsDetails</Role>
      <ShortName>Retirement benefits (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureRetirementBenefits</ParentRole>
      <Position>89</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R90.htm</HtmlFileName>
      <LongName>41801 - Disclosure - Financial instruments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureFinancialInstrumentsDetails</Role>
      <ShortName>Financial instruments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureFinancialInstrumentsTables</ParentRole>
      <Position>90</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R91.htm</HtmlFileName>
      <LongName>41802 - Disclosure - Financial instruments - Level 3 activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureFinancialInstrumentsLevel3ActivityDetails</Role>
      <ShortName>Financial instruments - Level 3 activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>91</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R92.htm</HtmlFileName>
      <LongName>41803 - Disclosure - Financial instruments - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureFinancialInstrumentsAdditionalInformationDetails</Role>
      <ShortName>Financial instruments - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>92</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R93.htm</HtmlFileName>
      <LongName>41901 - Disclosure - Commitments and contingencies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureCommitmentsAndContingenciesDetails</Role>
      <ShortName>Commitments and contingencies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>93</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R94.htm</HtmlFileName>
      <LongName>42001 - Disclosure - Related party transactions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureRelatedPartyTransactionsDetails</Role>
      <ShortName>Related party transactions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureRelatedPartyTransactions</ParentRole>
      <Position>94</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R95.htm</HtmlFileName>
      <LongName>42101 - Disclosure - Supplemental disclosure of cash flow information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails</Role>
      <ShortName>Supplemental disclosure of cash flow information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationTables</ParentRole>
      <Position>95</Position>
    </Report>
    <Report instance="cwco-20221231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R96.htm</HtmlFileName>
      <LongName>42301 - Disclosure - Subsequent events (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cwco.com/role/DisclosureSubsequentEventsDetails</Role>
      <ShortName>Subsequent events (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cwco.com/role/DisclosureSubsequentEvents</ParentRole>
      <Position>96</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <Logs>
    <Log type="Warning">[dq-0542-Deprecated-Concept] Concept AccountsPayableRelatedPartiesCurrent in us-gaap/2022 used in 4 facts was deprecated in us-gaap/2023 as of 2023 and should not be used. cwco-20221231x10k.htm 52, 82</Log>
    <Log type="Warning">[dq-0542-Deprecated-Concept] Concept PropertyPlantAndEquipmentEstimatedUsefulLives in us-gaap/2022 used in 1 facts was deprecated in us-gaap/2023 as of 2023 and should not be used. cwco-20221231x10k.htm 58</Log>
    <Log type="Warning">[dq-0542-Deprecated-Concept] Concept DueFromAffiliateCurrent in us-gaap/2022 used in 2 facts was deprecated in us-gaap/2023 as of 2023 and should not be used. cwco-20221231x10k.htm 63</Log>
    <Log type="Warning">[dq-0542-Deprecated-Concept] Concept RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty in us-gaap/2022 used in 2 facts was deprecated in us-gaap/2023 as of 2023 and should not be used. cwco-20221231x10k.htm 82</Log>
    <Log type="Warning">[ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 20 fact(s) appearing in ix:hidden were eligible for transformation: cwco:AdditionalConsecutiveIndividualRequisiteServicePeriod, cwco:NumberOfDaysAfterConsumptionBillingsAreCollected, cwco:NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue, cwco:NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised, cwco:NumberOfDaysOfAverageTradingPriceOfCommonStock, cwco:ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod, cwco:TermOfForeignExchangeRiskToDollarForCertainCurrencies, dei:CurrentFiscalYearEndDate, dei:EntityIncorporationStateCountryCode, us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife, us-gaap:CommonStockSharesIssued, us-gaap:CommonStockSharesOutstanding, us-gaap:PreferredStockSharesIssued, us-gaap:PreferredStockSharesOutstanding, us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1, us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 -  cwco-20221231x10k.htm 9</Log>
    <Log type="Warning">[ix-0514-Hidden-Fact-Not-Referenced] WARN: 2 fact(s) appearing in ix:hidden were not referenced by any -sec-ix-hidden style property: us-gaap:CommitmentsAndContingencies -  cwco-20221231x10k.htm 9</Log>
  </Logs>
  <InputFiles>
    <File doctype="10-K" original="cwco-20221231x10k.htm">cwco-20221231x10k.htm</File>
    <File>cwco-20221231.xsd</File>
    <File>cwco-20221231_cal.xml</File>
    <File>cwco-20221231_def.xml</File>
    <File>cwco-20221231_lab.xml</File>
    <File>cwco-20221231_pre.xml</File>
    <File>cwco-20221231xex21d1.htm</File>
    <File>cwco-20221231xex23d1.htm</File>
    <File>cwco-20221231xex31d1.htm</File>
    <File>cwco-20221231xex31d2.htm</File>
    <File>cwco-20221231xex32d1.htm</File>
    <File>cwco-20221231xex32d2.htm</File>
    <File>cwco-20221231xex4d1.htm</File>
  </InputFiles>
  <SupplementalFiles>
    <File>cwco-20221231x10k003.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="1039">http://fasb.org/us-gaap/2022</BaseTaxonomy>
    <BaseTaxonomy items="38">http://xbrl.sec.gov/dei/2022</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>118
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "cwco-20221231x10k.htm": {
   "axisCustom": 4,
   "axisStandard": 30,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2022": 1039,
    "http://xbrl.sec.gov/dei/2022": 38
   },
   "contextCount": 274,
   "dts": {
    "calculationLink": {
     "local": [
      "cwco-20221231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "cwco-20221231_def.xml"
     ]
    },
    "inline": {
     "local": [
      "cwco-20221231x10k.htm"
     ]
    },
    "labelLink": {
     "local": [
      "cwco-20221231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "cwco-20221231_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "cwco-20221231.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/arcrole/esma-arcrole-2018-11-21.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://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd",
      "https://xbrl.sec.gov/country/2022/country-2022.xsd",
      "https://xbrl.sec.gov/currency/2022/currency-2022.xsd",
      "https://xbrl.sec.gov/dei/2022/dei-2022.xsd",
      "https://xbrl.sec.gov/stpr/2022/stpr-2022.xsd"
     ]
    }
   },
   "elementCount": 702,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2022": 13,
    "http://www.cwco.com/20221231": 7,
    "http://xbrl.sec.gov/dei/2022": 6,
    "total": 26
   },
   "keyCustom": 78,
   "keyStandard": 368,
   "memberCustom": 53,
   "memberStandard": 44,
   "nsprefix": "cwco",
   "nsuri": "http://www.cwco.com/20221231",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "00090 - Document - Document and Entity Information",
     "menuCat": "Cover",
     "order": "1",
     "role": "http://www.cwco.com/role/DocumentDocumentAndEntityInformation",
     "shortName": "Document and Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10301 - Disclosure - Cash and cash equivalents",
     "menuCat": "Notes",
     "order": "10",
     "role": "http://www.cwco.com/role/DisclosureCashAndCashEquivalents",
     "shortName": "Cash and cash equivalents",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10401 - Disclosure - Accounts receivable, net",
     "menuCat": "Notes",
     "order": "11",
     "role": "http://www.cwco.com/role/DisclosureAccountsReceivableNet",
     "shortName": "Accounts receivable, net",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10501 - Disclosure - Inventory",
     "menuCat": "Notes",
     "order": "12",
     "role": "http://www.cwco.com/role/DisclosureInventory",
     "shortName": "Inventory",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10601 - Disclosure - Contracts in progress",
     "menuCat": "Notes",
     "order": "13",
     "role": "http://www.cwco.com/role/DisclosureContractsInProgress",
     "shortName": "Contracts in progress",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10701 - Disclosure - Property, plant and equipment and construction in progress",
     "menuCat": "Notes",
     "order": "14",
     "role": "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgress",
     "shortName": "Property, plant and equipment and construction in progress",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10801 - Disclosure - Discontinued operations - Mexico project development",
     "menuCat": "Notes",
     "order": "15",
     "role": "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopment",
     "shortName": "Discontinued operations - Mexico project development",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10901 - Disclosure - Intangible assets",
     "menuCat": "Notes",
     "order": "16",
     "role": "http://www.cwco.com/role/DisclosureIntangibleAssets",
     "shortName": "Intangible assets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11001 - Disclosure - Leases",
     "menuCat": "Notes",
     "order": "17",
     "role": "http://www.cwco.com/role/DisclosureLeases",
     "shortName": "Leases",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11101 - Disclosure - Income taxes",
     "menuCat": "Notes",
     "order": "18",
     "role": "http://www.cwco.com/role/DisclosureIncomeTaxes",
     "shortName": "Income taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11201 - Disclosure - Earnings per share",
     "menuCat": "Notes",
     "order": "19",
     "role": "http://www.cwco.com/role/DisclosureEarningsPerShare",
     "shortName": "Earnings per share",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00100 - Statement - CONSOLIDATED BALANCE SHEETS",
     "menuCat": "Statements",
     "order": "2",
     "role": "http://www.cwco.com/role/StatementConsolidatedBalanceSheets",
     "shortName": "CONSOLIDATED BALANCE SHEETS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:CertificatesOfDepositAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cwco:DividendsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11301 - Disclosure - Dividends",
     "menuCat": "Notes",
     "order": "20",
     "role": "http://www.cwco.com/role/DisclosureDividends",
     "shortName": "Dividends",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cwco:DividendsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11401 - Disclosure - Segment information",
     "menuCat": "Notes",
     "order": "21",
     "role": "http://www.cwco.com/role/DisclosureSegmentInformation",
     "shortName": "Segment information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cwco:CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11501 - Disclosure - Cost of revenues and general and administrative expenses",
     "menuCat": "Notes",
     "order": "22",
     "role": "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpenses",
     "shortName": "Cost of revenues and general and administrative expenses",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cwco:CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11601 - Disclosure - Stock-based compensation",
     "menuCat": "Notes",
     "order": "23",
     "role": "http://www.cwco.com/role/DisclosureStockBasedCompensation",
     "shortName": "Stock-based compensation",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11701 - Disclosure - Retirement benefits",
     "menuCat": "Notes",
     "order": "24",
     "role": "http://www.cwco.com/role/DisclosureRetirementBenefits",
     "shortName": "Retirement benefits",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FinancialInstrumentsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11801 - Disclosure - Financial instruments",
     "menuCat": "Notes",
     "order": "25",
     "role": "http://www.cwco.com/role/DisclosureFinancialInstruments",
     "shortName": "Financial instruments",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FinancialInstrumentsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11901 - Disclosure - Contingencies",
     "menuCat": "Notes",
     "order": "26",
     "role": "http://www.cwco.com/role/DisclosureContingencies",
     "shortName": "Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12001 - Disclosure - Related party transactions",
     "menuCat": "Notes",
     "order": "27",
     "role": "http://www.cwco.com/role/DisclosureRelatedPartyTransactions",
     "shortName": "Related party transactions",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashFlowSupplementalDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12101 - Disclosure - Supplemental disclosure of cash flow information",
     "menuCat": "Notes",
     "order": "28",
     "role": "http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformation",
     "shortName": "Supplemental disclosure of cash flow information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashFlowSupplementalDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12201 - Disclosure - Impact of recent accounting standards",
     "menuCat": "Notes",
     "order": "29",
     "role": "http://www.cwco.com/role/DisclosureImpactOfRecentAccountingStandards",
     "shortName": "Impact of recent accounting standards",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PreferredStockParOrStatedValuePerShare",
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "menuCat": "Statements",
     "order": "3",
     "role": "http://www.cwco.com/role/StatementConsolidatedBalanceSheetsParenthetical",
     "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PreferredStockParOrStatedValuePerShare",
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12301 - Disclosure - Subsequent events",
     "menuCat": "Notes",
     "order": "30",
     "role": "http://www.cwco.com/role/DisclosureSubsequentEvents",
     "shortName": "Subsequent events",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "20202 - Disclosure - Accounting policies (Policies)",
     "menuCat": "Policies",
     "order": "31",
     "role": "http://www.cwco.com/role/DisclosureAccountingPoliciesPolicies",
     "shortName": "Accounting policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cwco:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30203 - Disclosure - Accounting policies (Tables)",
     "menuCat": "Tables",
     "order": "32",
     "role": "http://www.cwco.com/role/DisclosureAccountingPoliciesTables",
     "shortName": "Accounting policies (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cwco:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:CashAndCashEquivalentsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30303 - Disclosure - Cash and cash equivalents (Tables)",
     "menuCat": "Tables",
     "order": "33",
     "role": "http://www.cwco.com/role/DisclosureCashAndCashEquivalentsTables",
     "shortName": "Cash and cash equivalents (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:CashAndCashEquivalentsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30403 - Disclosure - Accounts receivable, net (Tables)",
     "menuCat": "Tables",
     "order": "34",
     "role": "http://www.cwco.com/role/DisclosureAccountsReceivableNetTables",
     "shortName": "Accounts receivable, net (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryNoncurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30503 - Disclosure - Inventory (Tables)",
     "menuCat": "Tables",
     "order": "35",
     "role": "http://www.cwco.com/role/DisclosureInventoryTables",
     "shortName": "Inventory (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryNoncurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cwco:ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30603 - Disclosure - Contracts in progress (Tables)",
     "menuCat": "Tables",
     "order": "36",
     "role": "http://www.cwco.com/role/DisclosureContractsInProgressTables",
     "shortName": "Contracts in progress (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cwco:ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30703 - Disclosure - Property, plant and equipment and construction in progress (Tables)",
     "menuCat": "Tables",
     "order": "37",
     "role": "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressTables",
     "shortName": "Property, plant and equipment and construction in progress (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30803 - Disclosure - Discontinued operations - Mexico project development (Tables)",
     "menuCat": "Tables",
     "order": "38",
     "role": "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentTables",
     "shortName": "Discontinued operations - Mexico project development (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30903 - Disclosure - Intangible assets (Tables)",
     "menuCat": "Tables",
     "order": "39",
     "role": "http://www.cwco.com/role/DisclosureIntangibleAssetsTables",
     "shortName": "Intangible assets (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00200 - Statement - CONSOLIDATED STATEMENTS OF INCOME",
     "menuCat": "Statements",
     "order": "4",
     "role": "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome",
     "shortName": "CONSOLIDATED STATEMENTS OF INCOME",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:InterestIncomeOther",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cwco:LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31003 - Disclosure - Leases (Tables)",
     "menuCat": "Tables",
     "order": "40",
     "role": "http://www.cwco.com/role/DisclosureLeasesTables",
     "shortName": "Leases (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cwco:LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31103 - Disclosure - Income taxes (Tables)",
     "menuCat": "Tables",
     "order": "41",
     "role": "http://www.cwco.com/role/DisclosureIncomeTaxesTables",
     "shortName": "Income taxes (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31203 - Disclosure - Earnings per share (Tables)",
     "menuCat": "Tables",
     "order": "42",
     "role": "http://www.cwco.com/role/DisclosureEarningsPerShareTables",
     "shortName": "Earnings per share (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "cwco:DividendsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DividendsDeclaredTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31303 - Disclosure - Dividends (Tables)",
     "menuCat": "Tables",
     "order": "43",
     "role": "http://www.cwco.com/role/DisclosureDividendsTables",
     "shortName": "Dividends (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "cwco:DividendsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DividendsDeclaredTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31403 - Disclosure - Segment information (Tables)",
     "menuCat": "Tables",
     "order": "44",
     "role": "http://www.cwco.com/role/DisclosureSegmentInformationTables",
     "shortName": "Segment information (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "cwco:CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cwco:CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31503 - Disclosure - Cost of revenues and general and administrative expenses (Tables)",
     "menuCat": "Tables",
     "order": "45",
     "role": "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesTables",
     "shortName": "Cost of revenues and general and administrative expenses (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "cwco:CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cwco:CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31603 - Disclosure - Stock-based compensation (Tables)",
     "menuCat": "Tables",
     "order": "46",
     "role": "http://www.cwco.com/role/DisclosureStockBasedCompensationTables",
     "shortName": "Stock-based compensation (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31803 - Disclosure - Financial instruments (Tables)",
     "menuCat": "Tables",
     "order": "47",
     "role": "http://www.cwco.com/role/DisclosureFinancialInstrumentsTables",
     "shortName": "Financial instruments (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:CashFlowSupplementalDisclosuresTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cwco:ScheduleOfSupplementalDisclosureOfCashFlowInformation",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "32103 - Disclosure - Supplemental disclosure of cash flow information (Tables)",
     "menuCat": "Tables",
     "order": "48",
     "role": "http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationTables",
     "shortName": "Supplemental disclosure of cash flow information (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:CashFlowSupplementalDisclosuresTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cwco:ScheduleOfSupplementalDisclosureOfCashFlowInformation",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:InterestCostsCapitalized",
       "p",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:InterestCostsCapitalized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40201 - Disclosure - Accounting policies - Additional Information (Details)",
     "menuCat": "Details",
     "order": "49",
     "role": "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails",
     "shortName": "Accounting policies - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:InterestCostsCapitalized",
       "p",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:InterestCostsCapitalized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfSalesMember_v0OLl8BXo0WTErurXssnTQ",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00205 - Statement - CONSOLIDATED STATEMENTS OF INCOME (Parenthetical)",
     "menuCat": "Statements",
     "order": "5",
     "role": "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncomeParenthetical",
     "shortName": "CONSOLIDATED STATEMENTS OF INCOME (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfSalesMember_v0OLl8BXo0WTErurXssnTQ",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:ForeignCurrencyTransactionGainLossBeforeTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40202 - Disclosure - Accounting policies - Cash and cash equivalents (Details)",
     "menuCat": "Details",
     "order": "50",
     "role": "http://www.cwco.com/role/DisclosureAccountingPoliciesCashAndCashEquivalentsDetails",
     "shortName": "Accounting policies - Cash and cash equivalents (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:ForeignCurrencyTransactionGainLossBeforeTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "cwco:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_CrRhqVKpokSFVglsF_8dyw",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40203 - Disclosure - Accounting policies - Property, plant and equipment (Details)",
     "menuCat": "Details",
     "order": "51",
     "role": "http://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails",
     "shortName": "Accounting policies - Property, plant and equipment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "cwco:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_CrRhqVKpokSFVglsF_8dyw",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40204 - Disclosure - Accounting policies - Goodwill and intangible assets (Details)",
     "menuCat": "Details",
     "order": "52",
     "role": "http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails",
     "shortName": "Accounting policies - Goodwill and intangible assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2vl2R6GlI06abktd3rVnpQ",
      "decimals": "0",
      "lang": null,
      "name": "cwco:EstimatedFairValueCarryingAmountExceededPercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:InvestmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cwco:CriteriaForRecognizingInvestmentAtCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40205 - Disclosure - Accounting policies - Investments and Other assets (Details)",
     "menuCat": "Details",
     "order": "53",
     "role": "http://www.cwco.com/role/DisclosureAccountingPoliciesInvestmentsAndOtherAssetsDetails",
     "shortName": "Accounting policies - Investments and Other assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:InvestmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cwco:CriteriaForRecognizingInvestmentAtCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40206 - Disclosure - Accounting policies - Disaggregated revenue (Details)",
     "menuCat": "Details",
     "order": "54",
     "role": "http://www.cwco.com/role/DisclosureAccountingPoliciesDisaggregatedRevenueDetails",
     "shortName": "Accounting policies - Disaggregated revenue (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RevenueRecognitionPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_kEbnJUzLjE2FsIu-1h89WA",
      "decimals": null,
      "lang": "en-US",
      "name": "cwco:NumberOfDaysAfterConsumptionBillingsAreCollected",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock",
       "us-gaap:CashAndCashEquivalentsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:Cash",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40301 - Disclosure - Cash and cash equivalents (Details)",
     "menuCat": "Details",
     "order": "55",
     "role": "http://www.cwco.com/role/DisclosureCashAndCashEquivalentsDetails",
     "shortName": "Cash and cash equivalents (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock",
       "us-gaap:CashAndCashEquivalentsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:Cash",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "cwco:AccountsReceivableTradeCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40401 - Disclosure - Accounts receivable, net (Details)",
     "menuCat": "Details",
     "order": "56",
     "role": "http://www.cwco.com/role/DisclosureAccountsReceivableNetDetails",
     "shortName": "Accounts receivable, net (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "cwco:AccountsReceivableTradeCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40402 - Disclosure - Accounts receivable, net - Allowance for doubtful accounts (Details)",
     "menuCat": "Details",
     "order": "57",
     "role": "http://www.cwco.com/role/DisclosureAccountsReceivableNetAllowanceForDoubtfulAccountsDetails",
     "shortName": "Accounts receivable, net - Allowance for doubtful accounts (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:ProvisionForDoubtfulAccounts",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryNoncurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40501 - Disclosure - Inventory (Details)",
     "menuCat": "Details",
     "order": "58",
     "role": "http://www.cwco.com/role/DisclosureInventoryDetails",
     "shortName": "Inventory (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryNoncurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "cwco:ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40601 - Disclosure - Contracts in progress (Details)",
     "menuCat": "Details",
     "order": "59",
     "role": "http://www.cwco.com/role/DisclosureContractsInProgressDetails",
     "shortName": "Contracts in progress (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "cwco:ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2020_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_-tneCKrH1kGaOJDN-8HjkA",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "menuCat": "Statements",
     "order": "6",
     "role": "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity",
     "shortName": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2020_us-gaap_StatementClassOfStockAxis_us-gaap_RedeemablePreferredStockMember_us-gaap_StatementEquityComponentsAxis_us-gaap_PreferredStockMember_-tneCKrH1kGaOJDN-8HjkA",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40701 - Disclosure - Property, plant and equipment and construction in progress (Details)",
     "menuCat": "Details",
     "order": "60",
     "role": "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails",
     "shortName": "Property, plant and equipment and construction in progress (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "cwco:CapitalCommitments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40702 - Disclosure - Property, plant and equipment and construction in progress - Additional Information (Details)",
     "menuCat": "Details",
     "order": "61",
     "role": "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressAdditionalInformationDetails",
     "shortName": "Property, plant and equipment and construction in progress - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "cwco:CapitalCommitments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_6_29_2020_To_6_29_2020_sPMd70VDuUCJoqa8nbPbZQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cwco:NumberOfDaysToSubmitListOfNonRecoverableExpenses",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40801 - Disclosure - Discontinued operations - Mexico project development- Narratives (Details)",
     "menuCat": "Details",
     "order": "62",
     "role": "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails",
     "shortName": "Discontinued operations - Mexico project development- Narratives (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_6_29_2020_To_6_29_2020_sPMd70VDuUCJoqa8nbPbZQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cwco:NumberOfDaysToSubmitListOfNonRecoverableExpenses",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R63": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperation",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40802 - Disclosure - Discontinued operations - Mexico project development (Details)",
     "menuCat": "Details",
     "order": "63",
     "role": "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails",
     "shortName": "Discontinued operations - Mexico project development (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_iY1jPOijHk6biRp1Mim8bA",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R64": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "cwco:IncomeLossFromDiscontinuedOperations",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40803 - Disclosure - Discontinued operations - Mexico project development - Financial Information (Details)",
     "menuCat": "Details",
     "order": "64",
     "role": "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentFinancialInformationDetails",
     "shortName": "Discontinued operations - Mexico project development - Financial Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_us-gaap_DisposalGroupClassificationAxis_us-gaap_SegmentDiscontinuedOperationsMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cwco_MexicoProjectDevelopmentMember_SXc5aIGFJU2gV7zovx78OA",
      "decimals": "0",
      "lang": null,
      "name": "cwco:ProvisionForUncollectedValueAddedTaxes",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R65": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40901 - Disclosure - Intangible assets - Costs and accumulated amortization (Details)",
     "menuCat": "Details",
     "order": "65",
     "role": "http://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails",
     "shortName": "Intangible assets - Costs and accumulated amortization (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R66": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40902 - Disclosure - Intangible assets - Amortization of intangible assets (Details)",
     "menuCat": "Details",
     "order": "66",
     "role": "http://www.cwco.com/role/DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails",
     "shortName": "Intangible assets - Amortization of intangible assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R67": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40903 - Disclosure - Intangible assets (Details)",
     "menuCat": "Details",
     "order": "67",
     "role": "http://www.cwco.com/role/DisclosureIntangibleAssetsDetails",
     "shortName": "Intangible assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R68": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "cwco:LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "cwco:DisposalGroupIncludingDiscontinuedOperationLeaseCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41001 - Disclosure - Leases - Lease assets and liabilities (Details)",
     "menuCat": "Details",
     "order": "68",
     "role": "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails",
     "shortName": "Leases - Lease assets and liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "cwco:LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "cwco:DisposalGroupIncludingDiscontinuedOperationLeaseCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R69": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41002 - Disclosure - Leases - Components of lease cost (Details)",
     "menuCat": "Details",
     "order": "69",
     "role": "http://www.cwco.com/role/DisclosureLeasesComponentsOfLeaseCostDetails",
     "shortName": "Leases - Components of lease cost (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "menuCat": "Statements",
     "order": "7",
     "role": "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:NetIncomeLossAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R70": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeasePayments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41003 - Disclosure - Leases - Supplemental cash flow information (Details)",
     "menuCat": "Details",
     "order": "70",
     "role": "http://www.cwco.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails",
     "shortName": "Leases - Supplemental cash flow information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeasePayments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R71": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41004 - Disclosure - Leases - Future lease payments (Details)",
     "menuCat": "Details",
     "order": "71",
     "role": "http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails",
     "shortName": "Leases - Future lease payments (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R72": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "cwco:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41101 - Disclosure - Income taxes - Components of income before income taxes (Details)",
     "menuCat": "Details",
     "order": "72",
     "role": "http://www.cwco.com/role/DisclosureIncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails",
     "shortName": "Income taxes - Components of income before income taxes (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "cwco:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R73": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41102 - Disclosure - Income taxes - Provision for income taxes (Details)",
     "menuCat": "Details",
     "order": "73",
     "role": "http://www.cwco.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
     "shortName": "Income taxes - Provision for income taxes (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R74": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "4",
      "first": true,
      "lang": null,
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41103 - Disclosure - Income taxes - Reconciliation of federal tax rate to the effective rate (Details)",
     "menuCat": "Details",
     "order": "74",
     "role": "http://www.cwco.com/role/DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails",
     "shortName": "Income taxes - Reconciliation of federal tax rate to the effective rate (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "4",
      "first": true,
      "lang": null,
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg",
      "xsiNil": "false"
     }
    },
    "R75": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41104 - Disclosure - Income taxes - Net long-term deferred tax liability (Details)",
     "menuCat": "Details",
     "order": "75",
     "role": "http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails",
     "shortName": "Income taxes - Net long-term deferred tax liability (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R76": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeTaxReconciliationTaxCreditsResearch",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41105 - Disclosure - Income taxes - Additional Information (Details)",
     "menuCat": "Details",
     "order": "76",
     "role": "http://www.cwco.com/role/DisclosureIncomeTaxesAdditionalInformationDetails",
     "shortName": "Income taxes - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeTaxReconciliationTaxCreditsResearch",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R77": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeLossFromContinuingOperations",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41201 - Disclosure - Earnings per share (Details)",
     "menuCat": "Details",
     "order": "77",
     "role": "http://www.cwco.com/role/DisclosureEarningsPerShareDetails",
     "shortName": "Earnings per share (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:DividendsPreferredStock",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R78": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DividendsDeclaredTableTextBlock",
       "cwco:DividendsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_10_1_2022_To_12_31_2022_-oElvctT2E2iCas2iUBgNg",
      "decimals": "3",
      "first": true,
      "lang": null,
      "name": "cwco:DividendsPerShareDeclared",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41301 - Disclosure - Dividends (Details)",
     "menuCat": "Details",
     "order": "78",
     "role": "http://www.cwco.com/role/DisclosureDividendsDetails",
     "shortName": "Dividends (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DividendsDeclaredTableTextBlock",
       "cwco:DividendsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_10_1_2022_To_12_31_2022_-oElvctT2E2iCas2iUBgNg",
      "decimals": "3",
      "first": true,
      "lang": null,
      "name": "cwco:DividendsPerShareDeclared",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Divide_USD_shares_H3tI4qLEjUGA1TlsnTxKnw",
      "xsiNil": "false"
     }
    },
    "R79": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfReportableSegments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_segment_oJ9B98qfoEOgvam78GGlOQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41401 - Disclosure - Segment information (Details)",
     "menuCat": "Details",
     "order": "79",
     "role": "http://www.cwco.com/role/DisclosureSegmentInformationDetails",
     "shortName": "Segment information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfReportableSegments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_segment_oJ9B98qfoEOgvam78GGlOQ",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10101 - Disclosure - Principal activity",
     "menuCat": "Notes",
     "order": "8",
     "role": "http://www.cwco.com/role/DisclosurePrincipalActivity",
     "shortName": "Principal activity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R80": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41402 - Disclosure - Segment information - Revenues earned by major geographic region and major customer (Details)",
     "menuCat": "Details",
     "order": "80",
     "role": "http://www.cwco.com/role/DisclosureSegmentInformationRevenuesEarnedByMajorGeographicRegionAndMajorCustomerDetails",
     "shortName": "Segment information - Revenues earned by major geographic region and major customer (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_KY_LGMwzhuDBEeoIKH3HuSbRg",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R81": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentNet",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41403 - Disclosure - Segment information - Property, plant and equipment, net by major geographic region (Details)",
     "menuCat": "Details",
     "order": "81",
     "role": "http://www.cwco.com/role/DisclosureSegmentInformationPropertyPlantAndEquipmentNetByMajorGeographicRegionDetails",
     "shortName": "Segment information - Property, plant and equipment, net by major geographic region (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_srt_StatementGeographicalAxis_country_KY_aytbaBe1RESSQ-KE0shQeg",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R82": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2aHUbdhyQk2ZfxNmGwqxTw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41404 - Disclosure - Segment information - Additional Information (Details)",
     "menuCat": "Details",
     "order": "82",
     "role": "http://www.cwco.com/role/DisclosureSegmentInformationAdditionalInformationDetails",
     "shortName": "Segment information - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_cwco_SegmentRetailMember_2aHUbdhyQk2ZfxNmGwqxTw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R83": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:CostOfRevenue",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41501 - Disclosure - Cost of revenues and general and administrative expenses - Cost of revenues (Details)",
     "menuCat": "Details",
     "order": "83",
     "role": "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails",
     "shortName": "Cost of revenues and general and administrative expenses - Cost of revenues (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "cwco:CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock",
       "cwco:CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_SubcontractorAndOtherProjectCostsMember_XhU9vS8_20W29yC7N_03Wg",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:CostOfRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R84": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:GeneralAndAdministrativeExpense",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41502 - Disclosure - Cost of revenues and general and administrative expenses - General and administrative expenses (Details)",
     "menuCat": "Details",
     "order": "84",
     "role": "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesGeneralAndAdministrativeExpensesDetails",
     "shortName": "Cost of revenues and general and administrative expenses - General and administrative expenses (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "cwco:CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock",
       "cwco:CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_cwco_EmployeeCostsMember_bIWKq5RfEkiFNs9Aq6N5_Q",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:GeneralAndAdministrativeExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R85": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "4",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41601 - Disclosure - Stock-based compensation - Significant weighted average assumptions (Details)",
     "menuCat": "Details",
     "order": "85",
     "role": "http://www.cwco.com/role/DisclosureStockBasedCompensationSignificantWeightedAverageAssumptionsDetails",
     "shortName": "Stock-based compensation - Significant weighted average assumptions (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "4",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_qpetiwyFyEe9h-g0JqGJeg",
      "xsiNil": "false"
     }
    },
    "R86": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41602 - Disclosure - Stock-based compensation - Stock option activity (Details)",
     "menuCat": "Details",
     "order": "86",
     "role": "http://www.cwco.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails",
     "shortName": "Stock-based compensation - Stock option activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_O71frwWMLUmXmoisDOkJmg",
      "xsiNil": "false"
     }
    },
    "R87": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41603 - Disclosure - Stock-based compensation - Weighted average fair value of options at the date of grant and the intrinsic value of options exercised (Details)",
     "menuCat": "Details",
     "order": "87",
     "role": "http://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails",
     "shortName": "Stock-based compensation - Weighted average fair value of options at the date of grant and the intrinsic value of options exercised (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R88": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cwco:ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41604 - Disclosure - Stock-based compensation (Details)",
     "menuCat": "Details",
     "order": "88",
     "role": "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails",
     "shortName": "Stock-based compensation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_5xZ6vOgg_Uqm48gV1iGUJA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cwco:ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R89": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:PensionExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41701 - Disclosure - Retirement benefits (Details)",
     "menuCat": "Details",
     "order": "89",
     "role": "http://www.cwco.com/role/DisclosureRetirementBenefitsDetails",
     "shortName": "Retirement benefits (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:PensionExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10201 - Disclosure - Accounting policies",
     "menuCat": "Notes",
     "order": "9",
     "role": "http://www.cwco.com/role/DisclosureAccountingPolicies",
     "shortName": "Accounting policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R90": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41801 - Disclosure - Financial instruments (Details)",
     "menuCat": "Details",
     "order": "90",
     "role": "http://www.cwco.com/role/DisclosureFinancialInstrumentsDetails",
     "shortName": "Financial instruments (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2021_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_ghdFbST_AUCaVYhxmTxIfg",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R91": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41802 - Disclosure - Financial instruments - Level 3 activity (Details)",
     "menuCat": "Details",
     "order": "91",
     "role": "http://www.cwco.com/role/DisclosureFinancialInstrumentsLevel3ActivityDetails",
     "shortName": "Financial instruments - Level 3 activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2021_lOcwAcOFFUaB04jSZSqvOQ",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R92": {
     "firstAnchor": null,
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41803 - Disclosure - Financial instruments - Additional Information (Details)",
     "menuCat": "Details",
     "order": "92",
     "role": "http://www.cwco.com/role/DisclosureFinancialInstrumentsAdditionalInformationDetails",
     "shortName": "Financial instruments - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R93": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "cwco:EmploymentAgreementBaseAnnualSalaries",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41901 - Disclosure - Commitments and contingencies (Details)",
     "menuCat": "Details",
     "order": "93",
     "role": "http://www.cwco.com/role/DisclosureCommitmentsAndContingenciesDetails",
     "shortName": "Commitments and contingencies (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "cwco:EmploymentAgreementBaseAnnualSalaries",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R94": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "As_Of_12_31_2022_8ureG2rJP0aVW0lYZGPTSw",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccountsPayableRelatedPartiesCurrent",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42001 - Disclosure - Related party transactions (Details)",
     "menuCat": "Details",
     "order": "94",
     "role": "http://www.cwco.com/role/DisclosureRelatedPartyTransactionsDetails",
     "shortName": "Related party transactions (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_cwco_PercWaterCorporationMember_iSPiZunAVk6dezcZHWn32w",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R95": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "cwco:ScheduleOfSupplementalDisclosureOfCashFlowInformation",
       "us-gaap:CashFlowSupplementalDisclosuresTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:InterestPaidNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42101 - Disclosure - Supplemental disclosure of cash flow information (Details)",
     "menuCat": "Details",
     "order": "95",
     "role": "http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails",
     "shortName": "Supplemental disclosure of cash flow information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "cwco:ScheduleOfSupplementalDisclosureOfCashFlowInformation",
       "us-gaap:CashFlowSupplementalDisclosuresTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Cb8jYDv_UkG20Am_R5lO7g",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:InterestPaidNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     }
    },
    "R96": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:ConsolidationPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cwco-20221231x10k.htm",
      "contextRef": "Duration_1_4_2023_To_1_4_2023_srt_OwnershipAxis_cwco_PercWaterCorporationMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_UxDkQZ43KEKIN7Oj-2FtIw",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:BusinessCombinationConsiderationTransferred1",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_9Awa8hGdJk6r03TiFoEXhA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42301 - Disclosure - Subsequent events (Details)",
     "menuCat": "Details",
     "order": "96",
     "role": "http://www.cwco.com/role/DisclosureSubsequentEventsDetails",
     "shortName": "Subsequent events (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    }
   },
   "segmentCount": 104,
   "tag": {
    "country_BS": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Bahamas [Member]"
       }
      }
     },
     "localname": "BS",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesCashAndCashEquivalentsDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationPropertyPlantAndEquipmentNetByMajorGeographicRegionDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationRevenuesEarnedByMajorGeographicRegionAndMajorCustomerDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_KY": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cayman Islands [Member]"
       }
      }
     },
     "localname": "KY",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRetirementBenefitsDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationPropertyPlantAndEquipmentNetByMajorGeographicRegionDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationRevenuesEarnedByMajorGeographicRegionAndMajorCustomerDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_US": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "United States [Member]"
       }
      }
     },
     "localname": "US",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformationPropertyPlantAndEquipmentNetByMajorGeographicRegionDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationRevenuesEarnedByMajorGeographicRegionAndMajorCustomerDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_VG": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Management Services Agreement With OC-BVI [Membre]"
       }
      }
     },
     "localname": "VG",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformationRevenuesEarnedByMajorGeographicRegionAndMajorCustomerDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_AllCurrenciesDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Currencies [Domain]"
       }
      }
     },
     "localname": "AllCurrenciesDomain",
     "nsuri": "http://xbrl.sec.gov/currency/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCashAndCashEquivalentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_BSD": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Bahamian dollar [Member]"
       }
      }
     },
     "localname": "BSD",
     "nsuri": "http://xbrl.sec.gov/currency/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCashAndCashEquivalentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_KYD": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cayman Islands dollar [Member]"
       }
      }
     },
     "localname": "KYD",
     "nsuri": "http://xbrl.sec.gov/currency/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCashAndCashEquivalentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_USD": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "United States dollar [Member]"
       }
      }
     },
     "localname": "USD",
     "nsuri": "http://xbrl.sec.gov/currency/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCashAndCashEquivalentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_AboveMarketPriceMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Above Market Price [Member]"
       }
      }
     },
     "localname": "AboveMarketPriceMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_AccountsReceivableOtherCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/DisclosureAccountsReceivableNetDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_AccountsReceivableGrossCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of other receivables. Used to reflect the current portion of the assets (receivable within one year or within the normal operating cycle if longer).",
        "label": "Accounts Receivable Other Current",
        "verboseLabel": "Other accounts receivable"
       }
      }
     },
     "localname": "AccountsReceivableOtherCurrent",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountsReceivableNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_AccountsReceivableTradeCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/DisclosureAccountsReceivableNetDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AccountsReceivableGrossCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of trade receivables. Used to reflect the current portion of the assets (receivable within one year or within the normal operating cycle if longer).",
        "label": "Accounts Receivable Trade Current",
        "verboseLabel": "Trade accounts receivable"
       }
      }
     },
     "localname": "AccountsReceivableTradeCurrent",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountsReceivableNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_AdditionalConsecutiveIndividualRequisiteServicePeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The additional consecutive individual requisite service period required for eligibility in the Employee Share Incentive Plan.",
        "label": "Additional Consecutive Individual Requisite Service Period",
        "terseLabel": "Additional consecutive individual requisite service period required for eligibility in Employee Share Incentive Plan"
       }
      }
     },
     "localname": "AdditionalConsecutiveIndividualRequisiteServicePeriod",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "cwco_AerexIndustriesIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Aerex Industries, Inc.",
        "label": "Aerex"
       }
      }
     },
     "localname": "AerexIndustriesIncMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_AguasDeRosaritoSapiDeCvMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aguas de Rosarito S.A.P.I. de C.V [Member]"
       }
      }
     },
     "localname": "AguasDeRosaritoSapiDeCvMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_AmortizationOfIntangiblesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization of intangibles [Member]"
       }
      }
     },
     "localname": "AmortizationOfIntangiblesMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesGeneralAndAdministrativeExpensesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_AmountRequiredToReduceAmountOfWaterLostByPublicWaterDistributionSystem": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount required to reduce the amount of water lost by the public water distribution system.",
        "label": "Amount Required To Reduce Amount Of Water Lost By Public Water Distribution System",
        "terseLabel": "Amount required to reduce the amount of water lost by the public water distribution system"
       }
      }
     },
     "localname": "AmountRequiredToReduceAmountOfWaterLostByPublicWaterDistributionSystem",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesInvestmentsAndOtherAssetsDetails"
     ],
     "xbrltype": "volumeItemType"
    },
    "cwco_AssetsContinuedOperation": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as assets attributable to continued operation.",
        "label": "Assets Continued Operation",
        "terseLabel": "Total segment assets"
       }
      }
     },
     "localname": "AssetsContinuedOperation",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_AtMarketPriceMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "At Market Price [Member]"
       }
      }
     },
     "localname": "AtMarketPriceMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_BalanceSheetLocationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "No definition available.",
        "label": "Balance Sheet location"
       }
      }
     },
     "localname": "BalanceSheetLocationAbstract",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureContractsInProgressDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "cwco_BelowMarketPriceMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Below Market Price [Member]"
       }
      }
     },
     "localname": "BelowMarketPriceMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_BulkMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Bulk [Member]"
       }
      }
     },
     "localname": "BulkMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_BulkRevenuesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Bulk revenue [Member]"
       }
      }
     },
     "localname": "BulkRevenuesMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesDisaggregatedRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_CapitalCommitments": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of capital commitments outstanding.",
        "label": "Capital Commitments"
       }
      }
     },
     "localname": "CapitalCommitments",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_CapitalizedEngineeringLaborAndMaterialsCostMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capitalized Engineering Labor and Materials Cost [Member]"
       }
      }
     },
     "localname": "CapitalizedEngineeringLaborAndMaterialsCostMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesInvestmentsAndOtherAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_CashAndRestrictedCashEquivalentsHeldInForeignBank": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount cash held in foreign bank accounts including restricted cash.",
        "label": "Cash And Restricted Cash Equivalents Held In Foreign Bank",
        "terseLabel": "Cash held in foreign bank accounts"
       }
      }
     },
     "localname": "CashAndRestrictedCashEquivalentsHeldInForeignBank",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesCashAndCashEquivalentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_CaymanWaterRetailOperationsPercentageOfGrossProfit": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the percentage of consolidated gross profit from Cayman Water retail operations.",
        "label": "Cayman Water Retail Operations, Percentage Of Gross Profit"
       }
      }
     },
     "localname": "CaymanWaterRetailOperationsPercentageOfGrossProfit",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "cwco_CaymanWaterRetailOperationsPercentageOfRevenue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the percentage of consolidated revenue from Cayman Water retail operations.",
        "label": "Cayman Water Retail Operations, Percentage Of Revenue"
       }
      }
     },
     "localname": "CaymanWaterRetailOperationsPercentageOfRevenue",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "cwco_ClosingPriceOfCommonShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Closing price of the common shares.",
        "label": "Closing Price of Common Shares"
       }
      }
     },
     "localname": "ClosingPriceOfCommonShares",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "cwco_CommitmentsAndContingenciesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "na",
        "label": "Commitments And Contingencies [ Line Items ]",
        "terseLabel": "Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesLineItems",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "cwco_CommitmentsAndContingenciesTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments And Contingencies [Table]"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesTable",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "cwco_CommonStockIssuedDuringPeriodValueIssuedForServices": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of common stock issued in lieu of cash for services contributed to the entity. Value of the stock issued includes, but is not limited to, services contributed by vendors and founders.",
        "label": "Common Stock Issued During Period Value Issued For Services",
        "verboseLabel": "Issuance of shares, respectively, shares of common stock for services rendered"
       }
      }
     },
     "localname": "CommonStockIssuedDuringPeriodValueIssuedForServices",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_CommonStockOptionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock Options [Member]"
       }
      }
     },
     "localname": "CommonStockOptionsMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_ConstructionInProgress": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.",
        "label": "Construction in Progress",
        "terseLabel": "Construction in progress",
        "verboseLabel": "Construction in progress"
       }
      }
     },
     "localname": "ConstructionInProgress",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_ConstructionInProgressPlacedInService": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount of construction in progress placed in service.",
        "label": "Construction In Progress Placed In Service"
       }
      }
     },
     "localname": "ConstructionInProgressPlacedInService",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_ConsumablesStockMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consumables stock [Member]"
       }
      }
     },
     "localname": "ConsumablesStockMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureInventoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_ContractWithCustomerAmountBilled": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/DisclosureContractsInProgressDetails": {
       "order": 1.0,
       "parentTag": "cwco_ContractWithCustomerNetOverbillings",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount billed for contracts with customers during the period.",
        "label": "Contract With Customer, Amount Billed",
        "negatedLabel": "Amounts billed to date on contracts in process"
       }
      }
     },
     "localname": "ContractWithCustomerAmountBilled",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureContractsInProgressDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems": {
     "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": "Contract With Customer, In Progress, Revenue Recognized And Amounts Billed, Disclosure [Line Items]"
       }
      }
     },
     "localname": "ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureLineItems",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureContractsInProgressDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about revenue recognized and amounts billed with regard to contracts with customers in progress.",
        "label": "Contract With Customer, In Progress, Revenue Recognized And Amounts Billed, Disclosure [Table]"
       }
      }
     },
     "localname": "ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledDisclosureTable",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureContractsInProgressDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "cwco_ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure for revenue recognized and amounts billed with regard to contracts with customers in progress.",
        "label": "Contract With Customer, In Progress, Revenue Recognized And Amounts Billed [Table Text Block]",
        "terseLabel": "Summary of information relative to revenue recognized and amounts billed on contracts in progress"
       }
      }
     },
     "localname": "ContractWithCustomerInProgressRevenueRecognizedAndAmountsBilledTableTextBlock",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureContractsInProgressTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cwco_ContractWithCustomerNetOverbillings": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/DisclosureContractsInProgressDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net amount of overbillings for contracts with customers, during the period.",
        "label": "Contract With Customer, Net Overbillings",
        "totalLabel": "Net contract asset (liability)"
       }
      }
     },
     "localname": "ContractWithCustomerNetOverbillings",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureContractsInProgressDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_ContractWithCustomerRetainage": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/DisclosureContractsInProgressDetails": {
       "order": 2.0,
       "parentTag": "cwco_ContractWithCustomerNetOverbillings",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of retainage with contract for customers.",
        "label": "Contract With Customer Retainage",
        "terseLabel": "Retainage"
       }
      }
     },
     "localname": "ContractWithCustomerRetainage",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureContractsInProgressDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_CostOfPlantSalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of plant sales [Member]"
       }
      }
     },
     "localname": "CostOfPlantSalesMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of revenues and general and administrative expenses"
       }
      }
     },
     "localname": "CostOfRevenuesAndGeneralAndAdministrativeExpensesAbstract",
     "nsuri": "http://www.cwco.com/20221231",
     "xbrltype": "stringItemType"
    },
    "cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of revenues and general and administrative expenses [Line Items]"
       }
      }
     },
     "localname": "CostOfRevenuesAndGeneralAndAdministrativeExpensesLineItems",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails",
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesGeneralAndAdministrativeExpensesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost Of Revenues And General And Administrative Expenses [Table]"
       }
      }
     },
     "localname": "CostOfRevenuesAndGeneralAndAdministrativeExpensesTable",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails",
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesGeneralAndAdministrativeExpensesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure for cost of revenues and general and administrative expenses.",
        "label": "Cost Of Revenues And General And Administrative Expenses [Table Text Block]",
        "verboseLabel": "Schedule of cost of revenues and general and administrative expenses"
       }
      }
     },
     "localname": "CostOfRevenuesAndGeneralAndAdministrativeExpensesTableTextBlock",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cwco_CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure for cost of revenues and general and administrative expenses.",
        "label": "Cost Of Revenues And General And Administrative Expenses [Text Block]",
        "terseLabel": "Cost of revenues and general and administrative expenses"
       }
      }
     },
     "localname": "CostOfRevenuesAndGeneralAndAdministrativeExpensesTextBlock",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpenses"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cwco_CriteriaForRecognizingInvestmentAtCost": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the conditions to recognize the investment value in cost.",
        "label": "Criteria For Recognizing Investment At Cost",
        "terseLabel": "Criteria for recognizing investment at cost"
       }
      }
     },
     "localname": "CriteriaForRecognizingInvestmentAtCost",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesInvestmentsAndOtherAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "cwco_DeferredTaxAssetsLandBasisDifference": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to land basis differences.",
        "label": "Deferred Tax Assets Land Basis Difference",
        "terseLabel": "Land basis difference - Mexico"
       }
      }
     },
     "localname": "DeferredTaxAssetsLandBasisDifference",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_DeferredTaxAssetsStartupCosts": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to start-up costs.",
        "label": "Deferred Tax Assets Start-up Costs",
        "terseLabel": "Start-up costs - Mexico"
       }
      }
     },
     "localname": "DeferredTaxAssetsStartupCosts",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from operating lease liabilities.",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Operating Lease Liabilities",
        "terseLabel": "Operating lease liabilities"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax liabilities attributable to deductible temporary differences from operating lease right-of-use assets.",
        "label": "Deferred Tax Liabilities, Operating Lease Right-Of-Use Assets",
        "terseLabel": "Operating lease right-of-use assets"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This member stands for 25% of matching contribution by employer under the defined contribution plan.",
        "label": "Defined Contribution Plan, Employer Matching Contribution, 25 Percent of Match [Member]"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRetirementBenefitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information about percentage employer matches of the employee's percentage contribution matched.",
        "label": "Defined Contribution Plan, Employer Matching Contribution, Percent of Match [Axis]"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRetirementBenefitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information about percentage employer matches of the employee's percentage contribution matched.",
        "label": "Defined Contribution Plan, Employer Matching Contribution, Percent of Match [Domain]"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerMatchingContributionPercentOfMatchDomain",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRetirementBenefitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_DepositsHeldInForeignBank": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deposits held in foreign banks, as stated in equivalent United States dollars.",
        "label": "Deposits held in foreign bank"
       }
      }
     },
     "localname": "DepositsHeldInForeignBank",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesCashAndCashEquivalentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_DepreciationMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation [Member]"
       }
      }
     },
     "localname": "DepreciationMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails",
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesGeneralAndAdministrativeExpensesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_DirectorsFeesAndExpensesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Directors' fees and expenses [Member]"
       }
      }
     },
     "localname": "DirectorsFeesAndExpensesMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesGeneralAndAdministrativeExpensesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_DiscontinuedOperationsNonRecoverableExpenses": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Refers to non-recoverable expense in discontinued operations.",
        "label": "Discontinued Operations, Non-Recoverable Expenses",
        "terseLabel": "Amount of non-recoverable expenses"
       }
      }
     },
     "localname": "DiscontinuedOperationsNonRecoverableExpenses",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_DiscountedCashFlowMethodMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Discounted Cash Flow Method [Member]"
       }
      }
     },
     "localname": "DiscountedCashFlowMethodMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as land and rights of way, attributable to disposal group held for sale or disposed of, expected to be disposed of within one year or the normal operating cycle, if longer.",
        "label": "Disposal Group, Including Discontinued Operation, Land And Rights Of Way",
        "terseLabel": "Land"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationLandAndRightsOfWay",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrent": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as leases attributable to disposal group held for sale or disposed of, expected to be disposed of within one year or the normal operating cycle, if longer.",
        "label": "Disposal Group, Including Discontinued Operation, Lease, Current",
        "terseLabel": "Current assets of discontinued operations"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationLeaseCurrent",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as leases attributable to disposal group held for sale or disposed of, expected to be disposed of within one year or the normal operating cycle, if longer.",
        "label": "Disposal Group Including Discontinued Operation Lease Current Liabilities",
        "terseLabel": "Current liabilities of discontinued operations"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationLeaseCurrentLiabilities",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_DisposalGroupIncludingDiscontinuedOperationLeaseNoncurrent": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as leases attributable to disposal group held for sale or disposed of, expected to be disposed of after one year or the normal operating cycle, if longer.",
        "label": "Disposal Group, Including Discontinued Operation, Lease, Noncurrent",
        "terseLabel": "Long-term assets of discontinued operations"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationLeaseNoncurrent",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of impairment attributable to disposal group, including, but not limited to, discontinued operation.",
        "label": "Disposal Group, Including Discontinued Operation, Other Expense, Impairment",
        "terseLabel": "Impairment loss for Mexico assets - discontinued operations"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of disposal group, including discontinued operation, value added taxes receivable.",
        "label": "Disposal Group, Including Discontinued Operation, Value Added Taxes Receivable",
        "terseLabel": "Value added taxes receivable (net of allowance of $1,657,871 and $1,279,757, respectively)"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationValueAddedTaxesReceivable",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_DistributionSystemsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Distribution Systems [Member]"
       }
      }
     },
     "localname": "DistributionSystemsMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails",
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_DividendsPerShareDeclared": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate dividends declared during the period for each share of common stock and redeemable preferred stock outstanding.",
        "label": "Dividends Per Share Declared"
       }
      }
     },
     "localname": "DividendsPerShareDeclared",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDividendsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "cwco_DividendsTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for dividends.",
        "label": "Dividends [Text Block]",
        "terseLabel": "Dividends"
       }
      }
     },
     "localname": "DividendsTextBlock",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDividends"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cwco_DocumentAndEntityInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Document and Entity Information [Abstract]",
        "label": "Document and Entity Information"
       }
      }
     },
     "localname": "DocumentAndEntityInformationAbstract",
     "nsuri": "http://www.cwco.com/20221231",
     "xbrltype": "stringItemType"
    },
    "cwco_EffectiveIncomeTaxRateReconciliationGoodwillImpairmentPercent": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to goodwill impairment.",
        "label": "Effective Income Tax Rate Reconciliation, Goodwill Impairment, Percent",
        "terseLabel": "Goodwill impairment"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationGoodwillImpairmentPercent",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "cwco_EffectiveIncomeTaxRateReconciliationPermanentItems": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to Permanent items.",
        "label": "Effective Income Tax Rate Reconciliation Permanent Items",
        "verboseLabel": "Permanent items"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationPermanentItems",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "cwco_EmployeeCostsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee costs [Member]"
       }
      }
     },
     "localname": "EmployeeCostsMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails",
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesGeneralAndAdministrativeExpensesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_EmployeesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employees [Member]"
       }
      }
     },
     "localname": "EmployeesMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_EmploymentAgreementBaseAnnualSalaries": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the base annual salary amount, under the employment agreement.",
        "label": "Employment Agreement Base Annual Salaries"
       }
      }
     },
     "localname": "EmploymentAgreementBaseAnnualSalaries",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_EntityWideRevenuesMajorCustomerPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of revenue generated from a single external customer that accounts for 10 percent or more of an entity's revenues.",
        "label": "Entity Wide Revenues Major Customer Percentage",
        "terseLabel": "Percentage of consolidated revenues"
       }
      }
     },
     "localname": "EntityWideRevenuesMajorCustomerPercentage",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformationRevenuesEarnedByMajorGeographicRegionAndMajorCustomerDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "cwco_EquityIncentivePlan2008Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Incentive Plan2008 [Member]"
       }
      }
     },
     "localname": "EquityIncentivePlan2008Member",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_EstimatedFairValueCarryingAmountExceededPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the exceeded percentage of estimated fair value of reporting segments.",
        "label": "Estimated Fair Value carrying Amount Exceeded Percentage",
        "terseLabel": "Estimated Fair Value Carrying Amount Exceeded Percentage"
       }
      }
     },
     "localname": "EstimatedFairValueCarryingAmountExceededPercentage",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "cwco_EstimatedFairValuePercentageSegmentReportingInformation": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the estimated fair value of reporting segments.",
        "label": "Estimated Fair Value Percentage Segment Reporting Information",
        "verboseLabel": "Estimated Fair Value Percentage Segment Reporting Information"
       }
      }
     },
     "localname": "EstimatedFairValuePercentageSegmentReportingInformation",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "cwco_FairValueDeterminingMethodAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Determining Method [Axis]"
       }
      }
     },
     "localname": "FairValueDeterminingMethodAxis",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "cwco_FairValueDeterminingMethodDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Determining Method [Domain]"
       }
      }
     },
     "localname": "FairValueDeterminingMethodDomain",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_FirstPhaseMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "First Phase [Member]"
       }
      }
     },
     "localname": "FirstPhaseMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_FuelOilMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fuel oil [Member]"
       }
      }
     },
     "localname": "FuelOilMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_GrossProfitMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Refers to gross profit member.",
        "label": "Gross Profit [Member]"
       }
      }
     },
     "localname": "GrossProfitMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_GuidelinePublicCompanyMethodMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Guideline Public Company Method [Member]"
       }
      }
     },
     "localname": "GuidelinePublicCompanyMethodMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations that are not subject to income tax, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.",
        "label": "Income Loss from Continuing Operations before Income Taxes, Foreign Not Subject To Income Taxes",
        "verboseLabel": "Foreign (not subject to income taxes)"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_IncomeLossFromDiscontinuedOperations": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) from a discontinued operation.",
        "label": "Income Loss from Discontinued Operations",
        "netLabel": "Loss from discontinued operations",
        "verboseLabel": "Less discontinued operations"
       }
      }
     },
     "localname": "IncomeLossFromDiscontinuedOperations",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentFinancialInformationDetails",
      "http://www.cwco.com/role/DisclosureIncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_IncomeLossFromEquityMethodInvestmentsAndSubsidiaries": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This items represents the entity's equity in earnings and profit sharing rights earned for the period from its unconsolidated equity method investee.",
        "label": "Income Loss From Equity Method Investments And Subsidiaries",
        "negatedLabel": "Profit-sharing and equity in earnings of OC-BVI"
       }
      }
     },
     "localname": "IncomeLossFromEquityMethodInvestmentsAndSubsidiaries",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 17.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "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 in the aggregate amount of expenses incurred but not yet paid. And in current liabilities classified as other",
        "label": "Increase Decrease In Accounts Payable And Accrued Expenses And Other Current Liabilities",
        "verboseLabel": "Accounts payable (including related parties), accrued expenses and other current liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "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 and 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 Accounts Receivable And Contract with Customer, Asset",
        "negatedLabel": "Accounts receivable and contract assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivableAndContractWithCustomerAsset",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_IncreaseDecreaseInContractLiability": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service  for which consideration has been received or is receivable.",
        "label": "Increase (Decrease) in Contract Liability",
        "terseLabel": "Contract liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractLiability",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_InsuranceMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insurance [Member]"
       }
      }
     },
     "localname": "InsuranceMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails",
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesGeneralAndAdministrativeExpensesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_InventoryCurrentAndNoncurrent": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of inventory current and non current.",
        "label": "Inventory Current And Noncurrent",
        "terseLabel": "Inventory, current and non-current"
       }
      }
     },
     "localname": "InventoryCurrentAndNoncurrent",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_LabEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lab equipment [Member]"
       }
      }
     },
     "localname": "LabEquipmentMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails",
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for lessee operating lease related assets and liabilities.",
        "label": "Lessee Operating Lease related Assets And Liabilities [Table Text Block]",
        "verboseLabel": "Schedule of lease-related assets and liabilities"
       }
      }
     },
     "localname": "LesseeOperatingLeaseRelatedAssetsAndLiabilitiesTableTextBlock",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cwco_ManagementContractsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to management contracts.",
        "label": "Facility management contracts"
       }
      }
     },
     "localname": "ManagementContractsMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_ManagementEmployeesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Management Employees [Member]"
       }
      }
     },
     "localname": "ManagementEmployeesMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_ManufacturingRevenuesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Manufacturing revenue [Member]"
       }
      }
     },
     "localname": "ManufacturingRevenuesMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesDisaggregatedRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_ManufacturingUnitsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Manufacturing Units [Member]"
       }
      }
     },
     "localname": "ManufacturingUnitsMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_MexicoProjectDevelopmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represent the information pertaining to Mexico Project Development.",
        "label": "Mexico Project Development"
       }
      }
     },
     "localname": "MexicoProjectDevelopmentMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails",
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentFinancialInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_NSCAguaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "NSC Agua [Member]"
       }
      }
     },
     "localname": "NSCAguaMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of transfers from Construction in Progress to property, plant and equipment, net.",
        "label": "Non cash Transactions, Transfers from Construction in Progress to property, plant and equipment, net",
        "verboseLabel": "Transfers from construction in progress to property, plant and equipment"
       }
      }
     },
     "localname": "NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_NonExecutiveDirectorsSharePlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non Executive Directors Share Plan [Member]"
       }
      }
     },
     "localname": "NonExecutiveDirectorsSharePlanMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_NonperformancebasedGrantsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Performance-Based Grants [Member]"
       }
      }
     },
     "localname": "NonperformancebasedGrantsMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_NumberOfCustomers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Refers to the number of customers.",
        "label": "Number of Customers"
       }
      }
     },
     "localname": "NumberOfCustomers",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "cwco_NumberOfDaysAfterConsumptionBillingsAreCollected": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of days after consumption billings are collected.",
        "label": "Number Of Days After Consumption Billings Are Collected",
        "terseLabel": "Number of days after consumption billings are collected"
       }
      }
     },
     "localname": "NumberOfDaysAfterConsumptionBillingsAreCollected",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesDisaggregatedRevenueDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "cwco_NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of days after consumption billings are considered past due.",
        "label": "Number Of Days After Consumption Billings Are Considered Past Due",
        "terseLabel": "Number of days after consumption billings are considered past due"
       }
      }
     },
     "localname": "NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesDisaggregatedRevenueDetails",
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "cwco_NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of days employee option to purchase preferred stock must be exercised.",
        "label": "Number Of Days Employee Option To Purchase Preferred Stock Must Be Exercised",
        "terseLabel": "Number of days employee option to purchase preferred stock must be exercised"
       }
      }
     },
     "localname": "NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "cwco_NumberOfDaysOfAverageTradingPriceOfCommonStock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of average trading price of the common stock.",
        "label": "Number Of Days Of Average Trading Price Of Common Stock",
        "terseLabel": "Number of average trading price of the common stock"
       }
      }
     },
     "localname": "NumberOfDaysOfAverageTradingPriceOfCommonStock",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "cwco_NumberOfDaysToSubmitListOfNonRecoverableExpenses": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of days to submit list of non-recoverable expenses made.",
        "label": "Number of Days to Submit List of Non-Recoverable Expenses",
        "terseLabel": "Number of days to submit list of non-recoverable expenses made"
       }
      }
     },
     "localname": "NumberOfDaysToSubmitListOfNonRecoverableExpenses",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "cwco_OfficeRentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "office rent",
        "label": "Office Rent [Member]"
       }
      }
     },
     "localname": "OfficeRentMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesGeneralAndAdministrativeExpensesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_OneCustomerMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to customer.",
        "label": "One Customer [Member]"
       }
      }
     },
     "localname": "OneCustomerMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformationRevenuesEarnedByMajorGeographicRegionAndMajorCustomerDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_OperatingLeaseAssetsCurrent": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of Operating Lease Assets Current.",
        "label": "Operating Lease Assets Current",
        "verboseLabel": "Operating lease assets, current"
       }
      }
     },
     "localname": "OperatingLeaseAssetsCurrent",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_OperatingLeaseCostsDiscontinuedOperations": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/DisclosureLeasesComponentsOfLeaseCostDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating lease cost related to discontinued operations, excluding expense for lease with term of one month or less.",
        "label": "Operating Lease Costs Discontinued Operations",
        "terseLabel": "Lease costs - discontinued operations"
       }
      }
     },
     "localname": "OperatingLeaseCostsDiscontinuedOperations",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesComponentsOfLeaseCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_OperatingLeaseDiscontinuedOperationsPayments": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow from operating lease discontinued operations, excluding payments to bring another asset to condition and location necessary for its intended use.",
        "label": "Operating Lease, Discontinued Operations, Payments",
        "terseLabel": "Operating cash flows from operating leases - discontinued operations"
       }
      }
     },
     "localname": "OperatingLeaseDiscontinuedOperationsPayments",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_OperatingLeaseLiabilitiesContinuingOperations": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, continuing operations.",
        "label": "Operating Lease Liabilities, Continuing Operations",
        "terseLabel": "Total lease obligations"
       }
      }
     },
     "localname": "OperatingLeaseLiabilitiesContinuingOperations",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_OperatingLeaseLiabilityIncludingDiscontinuedOperations": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, including discontinued operations.",
        "label": "Operating Lease, Liability, Including Discontinued Operations",
        "totalLabel": "Total lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityIncludingDiscontinuedOperations",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_OperatingLeaseRightOfUseAssetNet": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset net under operating lease.",
        "label": "Operating Lease Right of Use Asset Net",
        "totalLabel": "Total lease right-of-use assets"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAssetNet",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_OtherAssetsPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for other assets.",
        "label": "Other Assets [Policy Text Block]",
        "terseLabel": "Other assets"
       }
      }
     },
     "localname": "OtherAssetsPolicyTextBlock",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cwco_OtherCreditDeviceMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Credit Device [Member]",
        "verboseLabel": "Other [Member]."
       }
      }
     },
     "localname": "OtherCreditDeviceMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesGeneralAndAdministrativeExpensesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_PaymentForLandAndRightOfWayHeldForDevelopment": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow from the acquisition of real estate intended to generate income for the owner; excludes land acquired for use by the owner.",
        "label": "Payment For Land And Right Of Way Held For development",
        "terseLabel": "Payments for land and rights of way held for development"
       }
      }
     },
     "localname": "PaymentForLandAndRightOfWayHeldForDevelopment",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_PaymentsToAcquireCertificatesOfDeposit": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow from purchase of certificates of deposit.",
        "label": "Payments to Acquire Certificates of Deposit",
        "negatedLabel": "Purchase of certificate of deposit"
       }
      }
     },
     "localname": "PaymentsToAcquireCertificatesOfDeposit",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_PercWaterCorporationMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This member stands for PERC Water Corporation.",
        "label": "PERC Water Corporation"
       }
      }
     },
     "localname": "PercWaterCorporationMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureIntangibleAssetsDetails",
      "http://www.cwco.com/role/DisclosureRelatedPartyTransactionsDetails",
      "http://www.cwco.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_PerformancebasedGrantsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Performance-Based Grants [Member]"
       }
      }
     },
     "localname": "PerformancebasedGrantsMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_PeriodInWhichConstructionMustBeCompleted": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The period in which construction must be completed.",
        "label": "Period In Which Construction Must Be Completed",
        "terseLabel": "Period in which construction must be completed"
       }
      }
     },
     "localname": "PeriodInWhichConstructionMustBeCompleted",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "cwco_PeriodRequiredToOperateAndMaintainPlantAndAqueduct": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The period required to operate and maintain the plant and aqueduct.",
        "label": "Period Required To Operate And Maintain Plant And Aqueduct"
       }
      }
     },
     "localname": "PeriodRequiredToOperateAndMaintainPlantAndAqueduct",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "cwco_PlantAndEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plant And Equipment [Member]"
       }
      }
     },
     "localname": "PlantAndEquipmentMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails",
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_ProfessionalsFeeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Professional fees [Member]"
       }
      }
     },
     "localname": "ProfessionalsFeeMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesGeneralAndAdministrativeExpensesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_ProfitLossFromSubsidiaries": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 3.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This item represents the entity's share of profit or (loss) from its unconsolidated equity method investee.",
        "label": "Profit Loss From Subsidiaries",
        "verboseLabel": "Profit-sharing income from OC-BVI"
       }
      }
     },
     "localname": "ProfitLossFromSubsidiaries",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_ProvisionForUncollectedValueAddedTaxes": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It pertains to provision for uncollected value added taxes.",
        "label": "Provision For Uncollected Value Added Taxes",
        "terseLabel": "Provision for uncollected value added taxes"
       }
      }
     },
     "localname": "ProvisionForUncollectedValueAddedTaxes",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentFinancialInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_RetailRevenuesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retail revenue [Member]"
       }
      }
     },
     "localname": "RetailRevenuesMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesDisaggregatedRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_RetirementPlanAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement Plan [Axis]"
       }
      }
     },
     "localname": "RetirementPlanAxis",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRetirementBenefitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "cwco_RetirementPlanDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement Plan [Domain]"
       }
      }
     },
     "localname": "RetirementPlanDomain",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRetirementBenefitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_RoyaltiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retail license royalties [Member]"
       }
      }
     },
     "localname": "RoyaltiesMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for schedule of property plant and equipment useful life.",
        "label": "Schedule Of Property Plant And Equipment Useful Life [Table Text Block]",
        "terseLabel": "Schedule of Estimated useful lives"
       }
      }
     },
     "localname": "ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cwco_ScheduleOfSupplementalDisclosureOfCashFlowInformation": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for supplemental cash flow activities, including cash, noncash, and part noncash transactions, for the period. Noncash is defined as information about all investing and financing activities of an enterprise during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.",
        "label": "Schedule of Supplemental Disclosure of Cash Flow Information",
        "terseLabel": "Schedule of Supplemental disclosure of cash flow information"
       }
      }
     },
     "localname": "ScheduleOfSupplementalDisclosureOfCashFlowInformation",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cwco_SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The processing capacity per day seawater reverse osmosis desalination plant.",
        "label": "Seawater Reverse Osmosis Desalination Plant Per Day Processing Capacity"
       }
      }
     },
     "localname": "SeawaterReverseOsmosisDesalinationPlantPerDayProcessingCapacity",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails"
     ],
     "xbrltype": "volumeItemType"
    },
    "cwco_SecondPhaseMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Second Phase [Member]"
       }
      }
     },
     "localname": "SecondPhaseMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_SegmentRetailMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Retail.",
        "label": "Retail [Member]"
       }
      }
     },
     "localname": "SegmentRetailMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_ServicesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Services [Member]"
       }
      }
     },
     "localname": "ServicesMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_ServicesRevenuesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Services revenue [Member]"
       }
      }
     },
     "localname": "ServicesRevenuesMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesDisaggregatedRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The measurement period for cumulative financial performance targets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Measurement Period",
        "terseLabel": "Cumulative financial performance targets measurement period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "cwco_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonVestedOutstandingWeightedAverageRemainingContractualTerm": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for non vested options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Non Vested Outstanding Weighted Average Remaining Contractual Term"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonVestedOutstandingWeightedAverageRemainingContractualTerm",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "cwco_SparePartsStockMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Spare parts stock [Member]"
       }
      }
     },
     "localname": "SparePartsStockMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureInventoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_StockholdersEquityNoteConversionRatioCommonShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of common shares received upon conversion of preferred shares dependent upon specific criteria.",
        "label": "Stockholders Equity Note Conversion Ratio Common Shares",
        "terseLabel": "Number of common shares received upon conversion of preferred shares dependent upon specific criteria"
       }
      }
     },
     "localname": "StockholdersEquityNoteConversionRatioCommonShares",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "cwco_StockholdersEquityNoteConversionRatioPreferredShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of preferred shares converted to common shares dependent upon specific criteria.",
        "label": "Stockholders Equity Note Conversion Ratio Preferred Shares",
        "terseLabel": "Number of preferred shares converted to common shares dependent upon specific criteria"
       }
      }
     },
     "localname": "StockholdersEquityNoteConversionRatioPreferredShares",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "cwco_SubcontractorAndOtherProjectCostsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "NA",
        "label": "Subcontractor and other project costs"
       }
      }
     },
     "localname": "SubcontractorAndOtherProjectCostsMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_SupplementalDisclosureOfCashFlowInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Disclosure Of Cash Flow Information [Line Items]"
       }
      }
     },
     "localname": "SupplementalDisclosureOfCashFlowInformationLineItems",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "cwco_SupplementalDisclosureOfCashFlowInformationTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Disclosure Of Cash Flow Information [Table]"
       }
      }
     },
     "localname": "SupplementalDisclosureOfCashFlowInformationTable",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "cwco_TermOfForeignExchangeRiskToDollarForCertainCurrencies": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The duration certain foreign currencies are fixed to the dollar.",
        "label": "Term Of Foreign Exchange Risk To Dollar For Certain Currencies",
        "terseLabel": "Duration certain foreign currencies are fixed to the dollar"
       }
      }
     },
     "localname": "TermOfForeignExchangeRiskToDollarForCertainCurrencies",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "cwco_TradeNameMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade names"
       }
      }
     },
     "localname": "TradeNameMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_TransfersBetweenInventoryAndPropertyPlantAndEquipment": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of transfers from inventory to property plant and equipment and construction in progress.",
        "label": "Transfers Between Inventory And Property Plant And Equipment",
        "verboseLabel": "Transfers from inventory to property, plant and equipment and construction in progress"
       }
      }
     },
     "localname": "TransfersBetweenInventoryAndPropertyPlantAndEquipment",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_TypeOfPhasesAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Type Of Phases [Axis]"
       }
      }
     },
     "localname": "TypeOfPhasesAxis",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "cwco_TypeOfPhasesDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Type Of Phases [Domain]"
       }
      }
     },
     "localname": "TypeOfPhasesDomain",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_ValueAddedTaxReceivableAllowance": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on value added taxes receivable.",
        "label": "Value Added Tax Receivable Allowance",
        "terseLabel": "Value added tax, net of allowance"
       }
      }
     },
     "localname": "ValueAddedTaxReceivableAllowance",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cwco_WSCMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "WSC [Member]"
       }
      }
     },
     "localname": "WSCMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_WaterAndSewerageCorporationMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Water and Sewerage Corporation [Member]"
       }
      }
     },
     "localname": "WaterAndSewerageCorporationMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformationRevenuesEarnedByMajorGeographicRegionAndMajorCustomerDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cwco_WaterStockMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Water stock [Member]"
       }
      }
     },
     "localname": "WaterStockMember",
     "nsuri": "http://www.cwco.com/20221231",
     "presentation": [
      "http://www.cwco.com/role/DisclosureInventoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AuditorFirmId": {
     "auth_ref": [
      "r715",
      "r716",
      "r717"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "PCAOB issued Audit Firm Identifier",
        "label": "Auditor Firm ID"
       }
      }
     },
     "localname": "AuditorFirmId",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "nonemptySequenceNumberItemType"
    },
    "dei_AuditorLocation": {
     "auth_ref": [
      "r715",
      "r716",
      "r717"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "localname": "AuditorLocation",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "dei_AuditorName": {
     "auth_ref": [
      "r715",
      "r716",
      "r717"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "localname": "AuditorName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentAnnualReport": {
     "auth_ref": [
      "r715",
      "r716",
      "r717"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r718"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r713"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r713"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r713"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r719"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "monetaryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r713"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r713"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r713"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r713"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [
      "r720"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_IcfrAuditorAttestationFlag": {
     "auth_ref": [
      "r715",
      "r716",
      "r717"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "localname": "IcfrAuditorAttestationFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r712"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r714"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "srt_CurrencyAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Currency [Axis]"
       }
      }
     },
     "localname": "CurrencyAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCashAndCashEquivalentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_EquityMethodInvesteeNameDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment, Name [Domain]"
       }
      }
     },
     "localname": "EquityMethodInvesteeNameDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r367",
      "r698",
      "r757",
      "r783"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r417",
      "r418",
      "r419",
      "r420",
      "r483",
      "r624",
      "r651",
      "r679",
      "r680",
      "r696",
      "r704",
      "r711",
      "r756",
      "r775",
      "r776",
      "r777",
      "r778",
      "r779",
      "r780"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesDisaggregatedRevenueDetails",
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails",
      "http://www.cwco.com/role/DisclosureIntangibleAssetsDetails",
      "http://www.cwco.com/role/DisclosureRetirementBenefitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r417",
      "r418",
      "r419",
      "r420",
      "r483",
      "r624",
      "r651",
      "r679",
      "r680",
      "r696",
      "r704",
      "r711",
      "r756",
      "r775",
      "r776",
      "r777",
      "r778",
      "r779",
      "r780"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesDisaggregatedRevenueDetails",
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails",
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails",
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [
      "r367",
      "r698",
      "r757",
      "r783"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Domain]"
       }
      }
     },
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_OwnershipAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership [Axis]"
       }
      }
     },
     "localname": "OwnershipAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails",
      "http://www.cwco.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_OwnershipDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership [Domain]"
       }
      }
     },
     "localname": "OwnershipDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails",
      "http://www.cwco.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r417",
      "r418",
      "r419",
      "r420",
      "r465",
      "r483",
      "r511",
      "r512",
      "r513",
      "r623",
      "r624",
      "r651",
      "r679",
      "r680",
      "r696",
      "r704",
      "r711",
      "r748",
      "r756",
      "r776",
      "r777",
      "r778",
      "r779",
      "r780"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesDisaggregatedRevenueDetails",
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails",
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails",
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureIntangibleAssetsDetails",
      "http://www.cwco.com/role/DisclosureRetirementBenefitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r417",
      "r418",
      "r419",
      "r420",
      "r465",
      "r483",
      "r511",
      "r512",
      "r513",
      "r623",
      "r624",
      "r651",
      "r679",
      "r680",
      "r696",
      "r704",
      "r711",
      "r748",
      "r756",
      "r776",
      "r777",
      "r778",
      "r779",
      "r780"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesDisaggregatedRevenueDetails",
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails",
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails",
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureIntangibleAssetsDetails",
      "http://www.cwco.com/role/DisclosureRetirementBenefitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis": {
     "auth_ref": [
      "r377"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment, Name [Axis]"
       }
      }
     },
     "localname": "ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r364",
      "r365",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r678",
      "r697",
      "r710",
      "r757"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesCashAndCashEquivalentsDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationPropertyPlantAndEquipmentNetByMajorGeographicRegionDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationRevenuesEarnedByMajorGeographicRegionAndMajorCustomerDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r364",
      "r365",
      "r663",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r678",
      "r697",
      "r710",
      "r757"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesCashAndCashEquivalentsDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationPropertyPlantAndEquipmentNetByMajorGeographicRegionDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationRevenuesEarnedByMajorGeographicRegionAndMajorCustomerDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualAxis": {
     "auth_ref": [
      "r741",
      "r771"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Axis]"
       }
      }
     },
     "localname": "TitleOfIndividualAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Relationship to Entity [Domain]"
       }
      }
     },
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "stpr_CA": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "California [Member]"
       }
      }
     },
     "localname": "CA",
     "nsuri": "http://xbrl.sec.gov/stpr/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRetirementBenefitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "stpr_FL": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "FLORIDA"
       }
      }
     },
     "localname": "FL",
     "nsuri": "http://xbrl.sec.gov/stpr/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRetirementBenefitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting policies"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r40"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying values as of the balance sheet date of obligations incurred through that date and due within one year (or the operating cycle, if longer), including liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received, taxes, interest, rent and utilities, accrued salaries and bonuses, payroll taxes and fringe benefits.",
        "label": "Accounts Payable and Accrued Liabilities, Current",
        "verboseLabel": "Accounts payable, accrued expenses and other current liabilities"
       }
      }
     },
     "localname": "AccountsPayableAndAccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsPayableRelatedPartiesCurrent": {
     "auth_ref": [
      "r39",
      "r201",
      "r202",
      "r733"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount for accounts payable to related parties. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accounts Payable, Related Parties, Current",
        "terseLabel": "Accounts payable outstanding",
        "verboseLabel": "Accounts payable - related parties"
       }
      }
     },
     "localname": "AccountsPayableRelatedPartiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRelatedPartyTransactionsDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableGrossCurrent": {
     "auth_ref": [
      "r260",
      "r369",
      "r370",
      "r684"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureAccountsReceivableNetDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before 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, Gross, Current",
        "totalLabel": "Accounts Receivable, Gross, Current"
       }
      }
     },
     "localname": "AccountsReceivableGrossCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountsReceivableNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNet": {
     "auth_ref": [
      "r648",
      "r664"
     ],
     "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.",
        "label": "Accounts Receivable, Net"
       }
      }
     },
     "localname": "AccountsReceivableNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r369",
      "r370"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureAccountsReceivableNetDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.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, Current",
        "totalLabel": "Accounts receivable, net",
        "verboseLabel": "Accounts receivable, net"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountsReceivableNetDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedEmployeeBenefitsCurrent": {
     "auth_ref": [
      "r42"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Employee Benefits, Current",
        "verboseLabel": "Accrued compensation"
       }
      }
     },
     "localname": "AccruedEmployeeBenefitsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedAmortizationOfOtherDeferredCosts": {
     "auth_ref": [
      "r725"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated amortization of other deferred costs capitalized at the end of the reporting period. Does not include deferred finance costs, deferred acquisition costs of insurance companies, or deferred leasing costs for real estate operations.",
        "label": "Accumulated Amortization of Other Deferred Costs"
       }
      }
     },
     "localname": "AccumulatedAmortizationOfOtherDeferredCosts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesInvestmentsAndOtherAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "auth_ref": [
      "r123",
      "r251"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "verboseLabel": "Less accumulated depreciation"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": {
     "auth_ref": [
      "r107"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Acquired Finite-lived Intangible Assets, Weighted Average Useful Life"
       }
      }
     },
     "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_AdditionalPaidInCapital": {
     "auth_ref": [
      "r34",
      "r709"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.",
        "label": "Additional Paid in Capital",
        "verboseLabel": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapital",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r520",
      "r521",
      "r522",
      "r734",
      "r735",
      "r736",
      "r767"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentForAmortizationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization [Abstract]",
        "terseLabel": "Accumulated amortization"
       }
      }
     },
     "localname": "AdjustmentForAmortizationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r152",
      "r153",
      "r486"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.",
        "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition",
        "terseLabel": "Stock-based compensation"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "verboseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r515"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Allocated Share-based Compensation Expense"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax, of expense for award under share-based payment arrangement.",
        "label": "Allocated Share-based Compensation Expense, Net of Tax"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpenseNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock": {
     "auth_ref": [
      "r98",
      "r744"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allowance for credit loss on financing receivable.",
        "label": "Allowance for Credit Losses on Financing Receivables [Table Text Block]",
        "terseLabel": "Schedule of Allowance for doubtful accounts"
       }
      }
     },
     "localname": "AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountsReceivableNetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r261",
      "r373",
      "r383"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureAccountsReceivableNetDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.",
        "label": "Allowance for Doubtful Accounts Receivable, Current",
        "negatedLabel": "Allowance for doubtful accounts",
        "periodEndLabel": "Ending allowance for doubtful accounts",
        "periodStartLabel": "Opening allowance for doubtful accounts"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountsReceivableNetAllowanceForDoubtfulAccountsDetails",
      "http://www.cwco.com/role/DisclosureAccountsReceivableNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries": {
     "auth_ref": [
      "r386"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in allowance for credit loss on accounts receivable, from recovery.",
        "label": "Accounts Receivable, Allowance for Credit Loss, Recovery",
        "terseLabel": "Recovery of accounts written off"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableRecoveries",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountsReceivableNetAllowanceForDoubtfulAccountsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": {
     "auth_ref": [
      "r385"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance.",
        "label": "Allowance for Doubtful Accounts Receivable, Write-offs",
        "negatedLabel": "Accounts written off during the year"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountsReceivableNetAllowanceForDoubtfulAccountsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r76",
      "r105",
      "r113"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.",
        "label": "Amortization of Intangible Assets"
       }
      }
     },
     "localname": "AmortizationOfIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AreaOfLand": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area of land held.",
        "label": "Area of Land"
       }
      }
     },
     "localname": "AreaOfLand",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails"
     ],
     "xbrltype": "areaItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r205",
      "r222",
      "r255",
      "r281",
      "r347",
      "r353",
      "r359",
      "r379",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r559",
      "r563",
      "r575",
      "r709",
      "r754",
      "r755",
      "r773"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "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",
        "verboseLabel": "Total assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "verboseLabel": "ASSETS"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r246",
      "r264",
      "r281",
      "r379",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r559",
      "r563",
      "r575",
      "r709",
      "r754",
      "r755",
      "r773"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "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/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets",
        "verboseLabel": "Current"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsNoncurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Noncurrent [Abstract]",
        "verboseLabel": "Noncurrent"
       }
      }
     },
     "localname": "AssetsNoncurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation": {
     "auth_ref": [
      "r0",
      "r1",
      "r20",
      "r125",
      "r244",
      "r245"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as assets attributable to disposal group held for sale or disposed of.",
        "label": "Disposal Group, Including Discontinued Operation, Assets",
        "terseLabel": "Assets of discontinued operations",
        "totalLabel": "Total assets of discontinued operations"
       }
      }
     },
     "localname": "AssetsOfDisposalGroupIncludingDiscontinuedOperation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent": {
     "auth_ref": [
      "r0",
      "r1",
      "r20",
      "r120",
      "r125",
      "r244",
      "r245"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as assets attributable to disposal group held for sale or disposed of, expected to be disposed of within one year or the normal operating cycle, if longer.",
        "label": "Disposal Group, Including Discontinued Operation, Assets, Current",
        "verboseLabel": "Current assets of discontinued operations"
       }
      }
     },
     "localname": "AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location on balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Axis]"
       }
      }
     },
     "localname": "BalanceSheetLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "auth_ref": [
      "r179",
      "r180"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Domain]"
       }
      }
     },
     "localname": "BalanceSheetLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "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 Accounting, Policy [Policy Text Block]",
        "terseLabel": "Basis of preparation"
       }
      }
     },
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BuildingMember": {
     "auth_ref": [
      "r122"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities.",
        "label": "Building [Member]"
       }
      }
     },
     "localname": "BuildingMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails",
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "auth_ref": [
      "r557",
      "r702",
      "r703"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.",
        "label": "Business Acquisition, Acquiree [Domain]"
       }
      }
     },
     "localname": "BusinessAcquisitionAcquireeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails",
      "http://www.cwco.com/role/DisclosureIntangibleAssetsDetails",
      "http://www.cwco.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "auth_ref": [
      "r163",
      "r164",
      "r557",
      "r702",
      "r703"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business combination or series of individually immaterial business combinations.",
        "label": "Business Acquisition [Axis]"
       }
      }
     },
     "localname": "BusinessAcquisitionAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails",
      "http://www.cwco.com/role/DisclosureIntangibleAssetsDetails",
      "http://www.cwco.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired": {
     "auth_ref": [
      "r162"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of voting equity interests acquired at the acquisition date in the business combination.",
        "label": "Business Acquisition, Percentage of Voting Interests Acquired",
        "verboseLabel": "Ownership interest acquired"
       }
      }
     },
     "localname": "BusinessAcquisitionPercentageOfVotingInterestsAcquired",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureIntangibleAssetsDetails",
      "http://www.cwco.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "auth_ref": [
      "r168",
      "r169",
      "r170"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.",
        "label": "Business Combination, Consideration Transferred",
        "verboseLabel": "Cash"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferred1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Cash": {
     "auth_ref": [
      "r661",
      "r662",
      "r709",
      "r723"
     ],
     "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",
        "terseLabel": "Bank accounts"
       }
      }
     },
     "localname": "Cash",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCashAndCashEquivalentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r78",
      "r249",
      "r682"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "terseLabel": "Cash and cash equivalents",
        "verboseLabel": "Cash and cash equivalents at end of period"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCashAndCashEquivalentsDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAxis": {
     "auth_ref": [
      "r249"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of cash and cash equivalent balance.",
        "label": "Cash and Cash Equivalents [Axis]"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesCashAndCashEquivalentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashAndCashEquivalentsDisclosureTextBlock": {
     "auth_ref": [
      "r249"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for cash and cash equivalent footnotes, which may include the types of deposits and money market instruments, applicable carrying amounts, restricted amounts and compensating balance arrangements. Cash and equivalents include: (1) currency on hand (2) demand deposits with banks or financial institutions (3) other kinds of accounts that have the general characteristics of demand deposits (4) 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. Generally, only investments maturing within three months from the date of acquisition qualify.",
        "label": "Cash and Cash Equivalents Disclosure [Text Block]",
        "terseLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCashAndCashEquivalents"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashAndCashEquivalentsLineItems": {
     "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": "Cash and Cash Equivalents [Line Items]"
       }
      }
     },
     "localname": "CashAndCashEquivalentsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCashAndCashEquivalentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "auth_ref": [
      "r79"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.",
        "label": "Cash and Cash Equivalents, Policy [Policy Text Block]",
        "verboseLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r73",
      "r78",
      "r84"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents.",
        "periodEndLabel": "Cash and cash equivalents at end of period",
        "periodStartLabel": "Cash and cash equivalents at beginning of period"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents [Abstract]"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesCashAndCashEquivalentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "auth_ref": [
      "r73",
      "r78",
      "r84"
     ],
     "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",
        "negatedPeriodEndLabel": "Less: cash and cash equivalents at end of period - discontinued operations",
        "periodStartLabel": "Cash and cash equivalents at beginning of period - discontinued operations"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": {
     "auth_ref": [
      "r73",
      "r195"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "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 increase (decrease) in cash and cash equivalents"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r723"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash Equivalents, at Carrying Value",
        "terseLabel": "Cash and cash equivalents",
        "verboseLabel": "Short term deposits"
       }
      }
     },
     "localname": "CashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesCashAndCashEquivalentsDetails",
      "http://www.cwco.com/role/DisclosureCashAndCashEquivalentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashFlowSupplementalDisclosuresTextBlock": {
     "auth_ref": [
      "r85"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for supplemental cash flow activities, including cash, noncash, and part noncash transactions, for the period. Noncash is defined as information about all investing and financing activities of an enterprise during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.",
        "label": "Cash Flow, Supplemental Disclosures [Text Block]",
        "terseLabel": "Supplemental disclosure of cash flow information"
       }
      }
     },
     "localname": "CashFlowSupplementalDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations": {
     "auth_ref": [
      "r19",
      "r73"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) of operating activities of discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "Cash Provided by (Used in) Operating Activities, Discontinued Operations",
        "verboseLabel": "Net cash used in operating activities - discontinued operations"
       }
      }
     },
     "localname": "CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "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": "Cash, Uninsured Amount",
        "terseLabel": "Deposits"
       }
      }
     },
     "localname": "CashUninsuredAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesCashAndCashEquivalentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CertificatesOfDepositAtCarryingValue": {
     "auth_ref": [
      "r723"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A savings certificate entitling the Entity (that is, bearer) to receive interest at an established maturity date, based upon a fixed interest rate. A certificate of deposit may be issued in any denomination. Certificates of deposit are generally issued by commercial banks and, therefore, insured by the FDIC (up to the prescribed limit). Certificates of deposit generally restrict holders from withdrawing funds on demand without the incurrence of penalties. Generally, only certificates of deposit with original maturities of three months or less qualify as cash equivalents. Original maturity means original maturity to the entity holding the investment. As a related example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.",
        "label": "Certificates of Deposit, at Carrying Value",
        "terseLabel": "Certificate of deposit"
       }
      }
     },
     "localname": "CertificatesOfDepositAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CertificatesOfDepositMember": {
     "auth_ref": [
      "r219"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Short to medium-term investment available at banks and savings and loan institutions where a customer agrees to lend money to the institution for a certain amount of time and is paid a predetermined rate of interest. Certificates of deposit (CD) are typically Federal Deposit Insurance Corporation (FDIC) insured.",
        "label": "Certificate of deposit"
       }
      }
     },
     "localname": "CertificatesOfDepositMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesCashAndCashEquivalentsDetails",
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ClassOfStockDomain": {
     "auth_ref": [
      "r257",
      "r258",
      "r259",
      "r281",
      "r308",
      "r312",
      "r317",
      "r319",
      "r327",
      "r328",
      "r379",
      "r421",
      "r423",
      "r424",
      "r425",
      "r428",
      "r429",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r575",
      "r681",
      "r721",
      "r730",
      "r737"
     ],
     "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.",
        "label": "Class of Stock [Domain]"
       }
      }
     },
     "localname": "ClassOfStockDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureInventoryDetails",
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails",
      "http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheetsParenthetical",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommitmentsAndContingencies": {
     "auth_ref": [
      "r45",
      "r210",
      "r228"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.",
        "label": "Commitments and Contingencies",
        "verboseLabel": "Commitments and contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingencies",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and contingencies."
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r130",
      "r415",
      "r416",
      "r666",
      "r752"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonClassAMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Classification of common stock representing ownership interest in a corporation.",
        "label": "Common Class A [Member]"
       }
      }
     },
     "localname": "CommonClassAMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonClassBMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Classification of common stock that has different rights than Common Class A, representing ownership interest in a corporation.",
        "label": "Common Class B [Member]"
       }
      }
     },
     "localname": "CommonClassBMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": {
     "auth_ref": [
      "r46"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate number of common shares reserved for future issuance.",
        "label": "Common Stock, Capital Shares Reserved for Future Issuance"
       }
      }
     },
     "localname": "CommonStockCapitalSharesReservedForFutureIssuance",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockDividendsPerShareDeclared": {
     "auth_ref": [
      "r135"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding.",
        "label": "Common Stock, Dividends, Per Share, Declared",
        "terseLabel": "Dividends declared per common and redeemable preferred shares"
       }
      }
     },
     "localname": "CommonStockDividendsPerShareDeclared",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r734",
      "r735",
      "r767"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails",
      "http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r33"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share",
        "verboseLabel": "Common stock, par value (in dollars per share)"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r33"
     ],
     "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, Shares Authorized",
        "verboseLabel": "Common stock, authorized"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r33"
     ],
     "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, Shares, Issued",
        "verboseLabel": "Common stock, issued"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r33",
      "r133"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common Stock, Shares, Outstanding",
        "verboseLabel": "Common stock, outstanding"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r33",
      "r709"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.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, Value, Issued",
        "verboseLabel": "Common stock value"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CompensationAndRetirementDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement benefits"
       }
      }
     },
     "localname": "CompensationAndRetirementDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "auth_ref": [
      "r88",
      "r89",
      "r193",
      "r194",
      "r367",
      "r665"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.",
        "label": "Concentration Risk Benchmark [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskBenchmarkDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails",
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesGeneralAndAdministrativeExpensesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "auth_ref": [
      "r88",
      "r89",
      "r193",
      "r194",
      "r367",
      "r660",
      "r665"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by benchmark of concentration risk.",
        "label": "Concentration Risk Benchmark [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails",
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesGeneralAndAdministrativeExpensesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "auth_ref": [
      "r88",
      "r89",
      "r193",
      "r194",
      "r367",
      "r665",
      "r784"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "auth_ref": [
      "r88",
      "r89",
      "r193",
      "r194",
      "r367"
     ],
     "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",
        "terseLabel": "Percentage of total"
       }
      }
     },
     "localname": "ConcentrationRiskPercentage1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "auth_ref": [
      "r88",
      "r89",
      "r193",
      "r194",
      "r367",
      "r665"
     ],
     "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.",
        "label": "Concentration Risk Type [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "auth_ref": [
      "r175",
      "r686"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.",
        "label": "Consolidation, Policy [Policy Text Block]",
        "verboseLabel": "Basis of consolidation"
       }
      }
     },
     "localname": "ConsolidationPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConstructionInProgressGross": {
     "auth_ref": [
      "r122"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.",
        "label": "Construction in Progress, Gross",
        "verboseLabel": "Construction in progress"
       }
      }
     },
     "localname": "ConstructionInProgressGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerAssetNetCurrent": {
     "auth_ref": [
      "r438",
      "r440",
      "r461"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 7.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 with Customer, Asset, Net, Current",
        "terseLabel": "Contract assets",
        "verboseLabel": "Contract assets"
       }
      }
     },
     "localname": "ContractWithCustomerAssetNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureContractsInProgressDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r438",
      "r439",
      "r461"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.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 with Customer, Liability, Current",
        "negatedLabel": "Contract liabilities",
        "verboseLabel": "Contract liabilities"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureContractsInProgressDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "auth_ref": [
      "r462"
     ],
     "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": "Contract with Customer, Liability, Revenue Recognized",
        "verboseLabel": "Amount recognized revenue included in the contract liability balance"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureContractsInProgressDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConversionOfStockAmountConverted1": {
     "auth_ref": [
      "r81",
      "r82",
      "r83"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The value of the stock converted in a noncash (or part noncash) transaction. Noncash is defined as transactions during a period that do not result in cash receipts or cash payments in the period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.",
        "label": "Conversion of Stock, Amount Converted",
        "verboseLabel": "Conversion (on a one-to-one basis) of 6,585 and 11,522, respectively, shares of redeemable preferred stock to common stock"
       }
      }
     },
     "localname": "ConversionOfStockAmountConverted1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConversionOfStockSharesConverted1": {
     "auth_ref": [
      "r81",
      "r82",
      "r83"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares converted in a noncash (or part noncash) transaction. Noncash is defined as transactions during a period that do not result in cash receipts or cash payments in the period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.",
        "label": "Conversion of Stock, Shares Converted"
       }
      }
     },
     "localname": "ConversionOfStockSharesConverted1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CostOfRevenue": {
     "auth_ref": [
      "r60",
      "r281",
      "r379",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r575",
      "r754"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "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 Revenue",
        "terseLabel": "Cost of revenue (including purchases from related parties of $2,694,810 in 2022 and $437,857 in 2021)",
        "verboseLabel": "Cost of revenue"
       }
      }
     },
     "localname": "CostOfRevenue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfSalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing cost of sales.",
        "label": "Cost of revenue."
       }
      }
     },
     "localname": "CostOfSalesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncomeParenthetical"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Federal, State and Local, Tax Expense (Benefit) [Abstract]",
        "terseLabel": "Current:"
       }
      }
     },
     "localname": "CurrentFederalStateAndLocalTaxExpenseBenefitAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CurrentFederalTaxExpenseBenefit": {
     "auth_ref": [
      "r732",
      "r763",
      "r765"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction.",
        "label": "Current Federal Tax Expense (Benefit)",
        "terseLabel": "Federal"
       }
      }
     },
     "localname": "CurrentFederalTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r161",
      "r537",
      "r548",
      "r732"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.",
        "label": "Current Income Tax Expense (Benefit)",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "auth_ref": [
      "r732",
      "r763",
      "r765"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.",
        "label": "Current State and Local Tax Expense (Benefit)",
        "terseLabel": "State"
       }
      }
     },
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "auth_ref": [
      "r87",
      "r367"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CustomerRelationshipsMember": {
     "auth_ref": [
      "r167"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.",
        "label": "Customer relationships"
       }
      }
     },
     "localname": "CustomerRelationshipsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction": {
     "auth_ref": [
      "r81",
      "r82",
      "r83"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of debt issuance costs that were incurred during a noncash or partial noncash transaction.",
        "label": "Debt Issuance Costs Incurred During Noncash or Partial Noncash Transaction",
        "terseLabel": "Purchase of equipment through issuance of long-term debt"
       }
      }
     },
     "localname": "DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r732",
      "r764",
      "r765"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredIncomeTaxesAndTaxCredits",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction.",
        "label": "Deferred Federal Income Tax Expense (Benefit)",
        "terseLabel": "Federal"
       }
      }
     },
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Federal, State and Local, Tax Expense (Benefit) [Abstract]",
        "terseLabel": "Deferred:"
       }
      }
     },
     "localname": "DeferredFederalStateAndLocalTaxExpenseBenefitAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredIncomeCurrent": {
     "auth_ref": [
      "r753"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income excluding obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Deferred Income, Current",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "DeferredIncomeCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r76",
      "r161",
      "r538",
      "r547",
      "r548",
      "r732"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Income Tax Expense (Benefit)",
        "terseLabel": "Deferred income tax benefit"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "auth_ref": [
      "r30",
      "r31",
      "r206",
      "r220",
      "r533"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences.",
        "label": "Deferred tax liabilities",
        "totalLabel": "Deferred Tax Liabilities, Gross"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "auth_ref": [
      "r526",
      "r527"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.",
        "label": "Deferred Income Tax Liabilities, Net",
        "terseLabel": "Deferred tax liabilities",
        "totalLabel": "Net deferred tax liability"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxesAndTaxCredits": {
     "auth_ref": [
      "r77"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) and income tax credits.",
        "label": "Deferred Income Taxes and Tax Credits",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "DeferredIncomeTaxesAndTaxCredits",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r732",
      "r764",
      "r765"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredIncomeTaxesAndTaxCredits",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.",
        "label": "Deferred State and Local Income Tax Expense (Benefit)",
        "terseLabel": "State"
       }
      }
     },
     "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsCapitalLossCarryforwards": {
     "auth_ref": [
      "r159",
      "r762"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible capital loss carryforwards.",
        "label": "Deferred Tax Assets, Capital Loss Carryforwards",
        "terseLabel": "Loss carry forward"
       }
      }
     },
     "localname": "DeferredTaxAssetsCapitalLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "auth_ref": [
      "r761"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.",
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "totalLabel": "Deferred tax assets"
       }
      }
     },
     "localname": "DeferredTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Net [Abstract]",
        "verboseLabel": "Deferred tax assets:"
       }
      }
     },
     "localname": "DeferredTaxAssetsNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign": {
     "auth_ref": [
      "r159",
      "r762"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible foreign operating loss carryforwards.",
        "label": "Deferred Tax Assets, Operating Loss Carryforwards, Foreign",
        "verboseLabel": "Operating loss carryforwards - Mexico"
       }
      }
     },
     "localname": "DeferredTaxAssetsOperatingLossCarryforwardsForeign",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch": {
     "auth_ref": [
      "r158",
      "r159",
      "r762"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards.",
        "label": "Deferred Tax Assets, Tax Credit Carryforwards, Research",
        "verboseLabel": "Research &amp; development tax credits"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxCreditCarryforwardsResearch",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities": {
     "auth_ref": [
      "r159",
      "r762"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities",
        "terseLabel": "Accrued compensation"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r534"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.",
        "label": "Deferred Tax Assets, Valuation Allowance",
        "negatedLabel": "Valuation allowances"
       }
      }
     },
     "localname": "DeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets": {
     "auth_ref": [
      "r159",
      "r762"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill.",
        "label": "Deferred Tax Liabilities, Intangible Assets",
        "terseLabel": "Intangible assets"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Net [Abstract]",
        "verboseLabel": "Deferred tax liabilities:"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": {
     "auth_ref": [
      "r159",
      "r762"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.",
        "label": "Deferred Tax Liabilities, Property, Plant and Equipment",
        "terseLabel": "Property and equipment"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanDisclosureLineItems": {
     "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": "Defined Benefit Plan Disclosure [Line Items]"
       }
      }
     },
     "localname": "DefinedBenefitPlanDisclosureLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRetirementBenefitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan.",
        "label": "Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay",
        "terseLabel": "Employer Matching Contribution, Percent of Employees' Gross Pay"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerMatchingContributionPercent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRetirementBenefitsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage employer matches of the employee's percentage contribution matched.",
        "label": "Defined Contribution Plan, Employer Matching Contribution, Percent of Match",
        "terseLabel": "Employer Matching Contribution, Percent of Match"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerMatchingContributionPercentOfMatch",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRetirementBenefitsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum amount the employee may contribute to a defined contribution plan.",
        "label": "Defined Contribution Plan, Maximum Annual Contributions Per Employee, Amount",
        "terseLabel": "Maximum annual contribution amount"
       }
      }
     },
     "localname": "DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRetirementBenefitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum percentage of employee gross pay the employee may contribute to a defined contribution plan.",
        "label": "Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent"
       }
      }
     },
     "localname": "DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRetirementBenefitsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r76",
      "r121"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.",
        "label": "Depreciation"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationAndAmortization": {
     "auth_ref": [
      "r76",
      "r121"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.",
        "label": "Depreciation, Depletion and Amortization, Nonproduction",
        "verboseLabel": "Depreciation and amortization"
       }
      }
     },
     "localname": "DepreciationAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationAndAmortizationDiscontinuedOperations": {
     "auth_ref": [
      "r243",
      "r729"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deprecation and amortization expense attributable to property, plant and equipment and intangible assets of discontinued operations.",
        "label": "Depreciation and Amortization, Discontinued Operations",
        "terseLabel": "Depreciation and amortization - discontinued operations"
       }
      }
     },
     "localname": "DepreciationAndAmortizationDiscontinuedOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "auth_ref": [
      "r76",
      "r342"
     ],
     "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, Depletion and Amortization"
       }
      }
     },
     "localname": "DepreciationDepletionAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformationAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "auth_ref": [
      "r757"
     ],
     "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": "Disaggregation of Revenue [Table Text Block]",
        "verboseLabel": "Schedule of Disaggregation of revenue"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r488",
      "r516",
      "r517",
      "r519",
      "r523",
      "r705"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for share-based payment arrangement.",
        "label": "Share-based Payment Arrangement [Text Block]",
        "terseLabel": "Stock-based compensation"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based compensation"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock": {
     "auth_ref": [
      "r142",
      "r150"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of share-based payment arrangement.",
        "label": "Disclosure of Share-based Compensation Arrangements by Share-based Payment Award [Table Text Block]",
        "terseLabel": "Schedule of weighted average fair value of options at the date of grant and the intrinsic value"
       }
      }
     },
     "localname": "DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax": {
     "auth_ref": [
      "r6",
      "r7",
      "r8",
      "r9",
      "r10",
      "r17",
      "r54",
      "r231"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before tax of income (loss) from a discontinued operation. Includes, but is not limited to, the income (loss) from operations during the phase-out period, gain (loss) on disposal, gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and adjustments to a prior period gain (loss) on disposal.",
        "label": "Discontinued Operation, Income (Loss) from Discontinued Operation, before Income Tax",
        "verboseLabel": "Loss from operations"
       }
      }
     },
     "localname": "DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentFinancialInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_EarningsPerShareBasic",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per basic share amount, after tax, of income (loss) from the day-to-day business activities of the discontinued operation.",
        "label": "Discontinued Operation, Income (Loss) from Discontinued Operation, Net of Tax, Per Basic Share",
        "verboseLabel": "Discontinued operations"
       }
      }
     },
     "localname": "DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_EarningsPerShareDiluted",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per diluted share amount, after tax, of income (loss) from the day-to-day business activities of the discontinued operation.",
        "label": "Discontinued Operation, Income (Loss) from Discontinued Operation, Net of Tax, Per Diluted Share",
        "verboseLabel": "Discontinued operations"
       }
      }
     },
     "localname": "DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Discontinued operations - Mexico project development"
       }
      }
     },
     "localname": "DiscontinuedOperationsAndDisposalGroupsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisposalGroupClassificationAxis": {
     "auth_ref": [
      "r244"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by disposal group classification.",
        "label": "Disposal Group Classification [Axis]"
       }
      }
     },
     "localname": "DisposalGroupClassificationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails",
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentFinancialInformationDetails",
      "http://www.cwco.com/role/DisclosureIncomeTaxesAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisposalGroupClassificationDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Component or group of components disposed of, including but not limited to, disposal group held-for-sale or disposed of by sale, disposed of by means other than sale, and discontinued operations.",
        "label": "Disposal Group Classification [Domain]"
       }
      }
     },
     "localname": "DisposalGroupClassificationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails",
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentFinancialInformationDetails",
      "http://www.cwco.com/role/DisclosureIncomeTaxesAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent": {
     "auth_ref": [
      "r0",
      "r1",
      "r20",
      "r119",
      "r125",
      "r244",
      "r245"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 10.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as assets attributable to disposal group held for sale or disposed of, expected to be disposed of after one year or the normal operating cycle, if longer.",
        "label": "Disposal Group, Including Discontinued Operation, Assets, Noncurrent",
        "verboseLabel": "Long-term assets of discontinued operations"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents": {
     "auth_ref": [
      "r0",
      "r1",
      "r20",
      "r125"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as cash and cash equivalents attributable to disposal group held for sale or disposed of.",
        "label": "Disposal Group, Including Discontinued Operation, Cash and Cash Equivalents",
        "terseLabel": "Cash"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationCashAndCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization": {
     "auth_ref": [
      "r18"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of depreciation and amortization expense attributable to disposal group, including, but not limited to, discontinued operation.",
        "label": "Disposal Group, Including Discontinued Operation, Depreciation and Amortization",
        "verboseLabel": "Depreciation expense"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentFinancialInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses": {
     "auth_ref": [
      "r196"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of foreign currency translation gain (loss) in the disposal group, including discontinued operation, recognized in the statement of income as a result of the sale or complete or substantially complete liquidation of an investment in a foreign entity.",
        "label": "Disposal Group, Including Discontinued Operation, Foreign Currency Translation Gains (Losses)",
        "negatedLabel": "Foreign currency transaction adjustment - discontinued operations"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets": {
     "auth_ref": [
      "r0",
      "r1",
      "r20",
      "r119",
      "r125"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as other assets attributable to disposal group held for sale or disposed of, expected to be disposed of after one year or the normal operating cycle, if longer.",
        "label": "Disposal Group, Including Discontinued Operation, Other Assets, Noncurrent",
        "verboseLabel": "Other assets"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent": {
     "auth_ref": [
      "r0",
      "r1",
      "r20",
      "r120",
      "r125"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as prepaid and other assets attributable to disposal group held for sale or disposed of, expected to be disposed of within one year or the normal operating cycle, if longer.",
        "label": "Disposal Group, Including Discontinued Operation, Prepaid and Other Assets, Current",
        "terseLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent": {
     "auth_ref": [
      "r0",
      "r1",
      "r20",
      "r119",
      "r125"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as property, plant and equipment attributable to disposal group held for sale or disposed of, expected to be disposed of after one year or the normal operating cycle, if longer.",
        "label": "Disposal Group, Including Discontinued Operation, Property, Plant and Equipment, Noncurrent",
        "terseLabel": "Property, plant and equipment, net"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisposalGroupNotDiscontinuedOperationGainLossOnDisposal": {
     "auth_ref": [
      "r409",
      "r729",
      "r747"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before tax of gain (loss) recognized on the sale or disposal of a disposal group. Excludes discontinued operations.",
        "label": "Disposal Group, Not Discontinued Operation, Gain (Loss) on Disposal",
        "negatedLabel": "Loss from discontinued operations"
       }
      }
     },
     "localname": "DisposalGroupNotDiscontinuedOperationGainLossOnDisposal",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock": {
     "auth_ref": [
      "r26",
      "r129"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure related to a disposal group. Includes, but is not limited to, a discontinued operation, disposal classified as held-for-sale or disposed of by means other than sale or disposal of an individually significant component.",
        "label": "Disposal Groups, Including Discontinued Operations, Disclosure [Text Block]",
        "verboseLabel": "Discontinued operations"
       }
      }
     },
     "localname": "DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopment"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain": {
     "auth_ref": [
      "r702",
      "r703"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of disposal group.",
        "label": "Disposal Group Name [Domain]"
       }
      }
     },
     "localname": "DisposalGroupsIncludingDiscontinuedOperationsNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails",
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentFinancialInformationDetails",
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DividendsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends."
       }
      }
     },
     "localname": "DividendsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DividendsCash": {
     "auth_ref": [
      "r135",
      "r218"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of paid and unpaid cash dividends declared for classes of stock, for example, but not limited to, common and preferred.",
        "label": "Dividends, Cash",
        "negatedLabel": "Dividends declared"
       }
      }
     },
     "localname": "DividendsCash",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DividendsDeclaredTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of information related to dividends declared, including paid and unpaid dividends.",
        "label": "Dividends Declared [Table Text Block]",
        "terseLabel": "Schedule of dividends"
       }
      }
     },
     "localname": "DividendsDeclaredTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDividendsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DividendsPayableCurrent": {
     "auth_ref": [
      "r42"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Dividends Payable, Current",
        "verboseLabel": "Dividends payable"
       }
      }
     },
     "localname": "DividendsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DividendsPayableCurrentAndNoncurrent": {
     "auth_ref": [
      "r28",
      "r29",
      "r207",
      "r223"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding.",
        "label": "Dividends Payable",
        "verboseLabel": "Dividends declared but not paid"
       }
      }
     },
     "localname": "DividendsPayableCurrentAndNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DividendsPreferredStock": {
     "auth_ref": [
      "r135",
      "r218"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of paid and unpaid preferred stock dividends declared with the form of settlement in cash, stock and payment-in-kind (PIK).",
        "label": "Dividends, Preferred Stock",
        "negatedLabel": "Less: preferred stock dividends"
       }
      }
     },
     "localname": "DividendsPreferredStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DomesticCountryMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile.",
        "label": "Domestic Tax Authority [Member]"
       }
      }
     },
     "localname": "DomesticCountryMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DueFromAffiliateCurrent": {
     "auth_ref": [
      "r200",
      "r613",
      "r616"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureAccountsReceivableNetDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AccountsReceivableGrossCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of receivables due from an entity that is affiliated with the reporting entity by means of direct or indirect ownership, due within 1 year (or 1 business cycle).",
        "label": "Due from Affiliate, Current",
        "verboseLabel": "Receivable from OC-BVI"
       }
      }
     },
     "localname": "DueFromAffiliateCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountsReceivableNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings per share"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r273",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r305",
      "r308",
      "r317",
      "r318",
      "r319",
      "r323",
      "r567",
      "r568",
      "r645",
      "r649",
      "r690"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "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": "Earnings Per Share, Basic",
        "totalLabel": "Basic earnings per share"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareBasicAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Basic [Abstract]",
        "verboseLabel": "Basic earnings (loss) per common share attributable to Consolidated Water Co. Ltd. common stockholders"
       }
      }
     },
     "localname": "EarningsPerShareBasicAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r273",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r308",
      "r317",
      "r318",
      "r319",
      "r323",
      "r567",
      "r568",
      "r645",
      "r649",
      "r690"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "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": "Earnings Per Share, Diluted",
        "totalLabel": "Diluted earnings per share"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareDilutedAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Diluted [Abstract]",
        "verboseLabel": "Diluted earnings (loss) per common share attributable to Consolidated Water Co. Ltd. common stockholders"
       }
      }
     },
     "localname": "EarningsPerShareDilutedAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r320",
      "r321",
      "r322",
      "r324"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "Earnings Per Share [Text Block]",
        "verboseLabel": "Earnings per share"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureEarningsPerShare"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "auth_ref": [
      "r529"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "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 Reconciliation, Percent",
        "totalLabel": "Total U.S. statutory federal tax rate to the effective rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "auth_ref": [
      "r283",
      "r529",
      "r550"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).",
        "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent",
        "verboseLabel": "U.S. statutory federal rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r760",
      "r766"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.",
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent",
        "verboseLabel": "Valuation allowance for deferred tax assets"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": {
     "auth_ref": [
      "r760",
      "r766"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": -1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.",
        "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent",
        "negatedLabel": "Nontaxable foreign income"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "auth_ref": [
      "r760",
      "r766"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).",
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent",
        "verboseLabel": "State taxes, net of federal effect"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch": {
     "auth_ref": [
      "r760",
      "r766"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": -1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent",
        "negatedLabel": "Research &amp; Development Tax Credit"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCreditsResearch",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesReconciliationOfFederalTaxRateToEffectiveRateDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ElectricityMember": {
     "auth_ref": [
      "r758"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Generation, transmission and distribution of electric energy.",
        "label": "Electricity [Member]"
       }
      }
     },
     "localname": "ElectricityMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "auth_ref": [
      "r518"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.",
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r518"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EmployeeStockOptionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.",
        "label": "Employee Stock Option [Member]"
       }
      }
     },
     "localname": "EmployeeStockOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails",
      "http://www.cwco.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r133",
      "r239",
      "r268",
      "r269",
      "r270",
      "r285",
      "r286",
      "r287",
      "r291",
      "r299",
      "r301",
      "r326",
      "r380",
      "r437",
      "r520",
      "r521",
      "r522",
      "r540",
      "r541",
      "r566",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r607",
      "r652",
      "r653",
      "r654"
     ],
     "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.",
        "label": "Equity Component [Domain]"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityMethodInvestmentAdditionalInformation": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This serves as a place to record data that is not required by accounting literature but is useful for readers of the financial statements as it relates to the details of an equity method investment in common stock. Such information may include the amount of change for a change in ownership (equity) percentage in a given period and the amount and type of the consideration given or received in relation to the change in ownership.",
        "label": "Equity Method Investment, Additional Information"
       }
      }
     },
     "localname": "EquityMethodInvestmentAdditionalInformation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesInvestmentsAndOtherAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityMethodInvestmentDividendsOrDistributions": {
     "auth_ref": [
      "r53",
      "r72",
      "r76",
      "r229"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of distribution received from equity method investee for return on investment, classified as operating activities. Excludes distribution for return of investment, classified as investing activities.",
        "label": "Proceeds from Equity Method Investment, Distribution",
        "verboseLabel": "Distribution of earnings from OC-BVI"
       }
      }
     },
     "localname": "EquityMethodInvestmentDividendsOrDistributions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquityMethodInvestmentOwnershipPercentage": {
     "auth_ref": [
      "r102"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.",
        "label": "Equity Method Investment, Ownership Percentage"
       }
      }
     },
     "localname": "EquityMethodInvestmentOwnershipPercentage",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EquityMethodInvestments": {
     "auth_ref": [
      "r101",
      "r348",
      "r724"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses recognized.",
        "label": "Equity Method Investments",
        "terseLabel": "Investment in OC-BVI"
       }
      }
     },
     "localname": "EquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": {
     "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, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": {
     "auth_ref": [
      "r572",
      "r573",
      "r574"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.",
        "label": "Fair Value Measurements, Recurring and Nonrecurring [Table]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock": {
     "auth_ref": [
      "r185",
      "r186",
      "r187",
      "r190",
      "r192"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of financial instruments measured at fair value, including those classified in shareholders' equity measured on a recurring or nonrecurring basis. Disclosures include, but are not limited to, fair value measurements recorded and the reasons for the measurements, level within the fair value hierarchy in which the fair value measurements are categorized and transfers between levels 1 and 2. Nonrecurring fair value measurements are those that are required or permitted in the statement of financial position in particular circumstances.",
        "label": "Fair Value Measurements, Recurring and Nonrecurring [Table Text Block]",
        "terseLabel": "Schedule of Fair value hierarchy for assets and liabilities"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": {
     "auth_ref": [
      "r188"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Class of asset.",
        "label": "Asset Class [Domain]"
       }
      }
     },
     "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueByAssetClassAxis": {
     "auth_ref": [
      "r185",
      "r192"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by class of asset.",
        "label": "Asset Class [Axis]"
       }
      }
     },
     "localname": "FairValueByAssetClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "auth_ref": [
      "r430",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r573",
      "r620",
      "r621",
      "r622",
      "r694",
      "r695",
      "r699",
      "r700",
      "r701"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.",
        "label": "Fair Value Hierarchy and NAV [Axis]"
       }
      }
     },
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "auth_ref": [
      "r430",
      "r467",
      "r472",
      "r573",
      "r621",
      "r694",
      "r695",
      "r699",
      "r700",
      "r701"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.",
        "label": "Fair Value, Inputs, Level 2 [Member]"
       }
      }
     },
     "localname": "FairValueInputsLevel2Member",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "auth_ref": [
      "r430",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r573",
      "r622",
      "r694",
      "r695",
      "r699",
      "r700",
      "r701"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value, Inputs, Level 3 [Member]"
       }
      }
     },
     "localname": "FairValueInputsLevel3Member",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]",
        "terseLabel": "Net (liability)/asset arising from put/call options"
       }
      }
     },
     "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsLevel3ActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": {
     "auth_ref": [
      "r188",
      "r192"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability.",
        "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]",
        "verboseLabel": "Schedule of Net liability arising from put/call options"
       }
      }
     },
     "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset, Transfers, Net [Abstract]",
        "verboseLabel": "Recurring"
       }
      }
     },
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue": {
     "auth_ref": [
      "r188"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of financial instrument classified as an asset measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset Value",
        "terseLabel": "Net asset arising from put/call options",
        "verboseLabel": "Fair value, Assets"
       }
      }
     },
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "auth_ref": [
      "r430",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r620",
      "r621",
      "r622",
      "r694",
      "r695",
      "r699",
      "r700",
      "r701"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.",
        "label": "Fair Value Hierarchy and NAV [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales": {
     "auth_ref": [
      "r189",
      "r191"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of sales of financial instrument classified as a derivative asset (liability) after deduction of derivative liability (asset), measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value, Net Derivative Asset (Liability) Measured on Recurring Basis, Unobservable Inputs Reconciliation, Gain (Loss) Included in Earnings",
        "terseLabel": "Unrealized gain"
       }
      }
     },
     "localname": "FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsLevel3ActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs": {
     "auth_ref": [
      "r185",
      "r191"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of financial instrument classified as derivative asset (liability) after deduction of derivative liability (asset), measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value, Net Derivative Asset (Liability) Measured on Recurring Basis with Unobservable Inputs",
        "periodEndLabel": "Balance as of December 31, 2022",
        "periodStartLabel": "Balance as of December 31, 2021"
       }
      }
     },
     "localname": "FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsLevel3ActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinancialInstrumentsDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for financial instruments. This disclosure includes, but is not limited to, fair value measurements of short and long term marketable securities, international currencies forward contracts, and auction rate securities. Financial instruments may include hedging and non-hedging currency exchange instruments, derivatives, securitizations and securities available for sale at fair value. Also included are investment results, realized and unrealized gains and losses as well as impairments and risk management disclosures.",
        "label": "Financial Instruments Disclosure [Text Block]",
        "terseLabel": "Financial instruments"
       }
      }
     },
     "localname": "FinancialInstrumentsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureFinancialInstruments"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract]"
       }
      }
     },
     "localname": "FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureFinancialInstrumentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r253",
      "r405"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "negatedLabel": "Finite-Lived Intangible Assets, Accumulated Amortization"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized 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": "Finite-Lived Intangible Assets, Amortization Expense, after Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "auth_ref": [
      "r114"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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": "Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months",
        "verboseLabel": "2023"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "auth_ref": [
      "r114"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in 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": "Finite-Lived Intangible Assets, Amortization Expense, Year Five",
        "verboseLabel": "2027"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "auth_ref": [
      "r114"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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": "Finite-Lived Intangible Assets, Amortization Expense, Year Four",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "auth_ref": [
      "r114"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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": "Finite-Lived Intangible Assets, Amortization Expense, Year Three",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "auth_ref": [
      "r114"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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": "Finite-Lived Intangible Assets, Amortization Expense, Year Two",
        "verboseLabel": "2024"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r402",
      "r404",
      "r405",
      "r407",
      "r627",
      "r631"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by major type or class of finite-lived intangible assets.",
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails",
      "http://www.cwco.com/role/DisclosureIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r112",
      "r631"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Gross",
        "verboseLabel": "Finite-Lived Intangible Assets, Gross"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "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": "Finite-Lived Intangible Assets [Line Items]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r106",
      "r111"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.",
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails",
      "http://www.cwco.com/role/DisclosureIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "auth_ref": [
      "r112",
      "r627"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Net",
        "totalLabel": "Finite Lived Intangible Assets Net"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsAmortizationOfIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": {
     "auth_ref": [
      "r579",
      "r580",
      "r581",
      "r582"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.",
        "label": "Foreign Currency Transaction Gain (Loss), before Tax",
        "terseLabel": "Net foreign currency gains"
       }
      }
     },
     "localname": "ForeignCurrencyTransactionGainLossBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesCashAndCashEquivalentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "auth_ref": [
      "r590"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.",
        "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]",
        "verboseLabel": "Foreign currency"
       }
      }
     },
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FurnitureAndFixturesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases.",
        "label": "Office furniture, fixtures and equipment [Member]"
       }
      }
     },
     "localname": "FurnitureAndFixturesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails",
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GainLossOnDispositionOfAssets1": {
     "auth_ref": [
      "r729"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee.",
        "label": "Gain (Loss) on Disposition of Assets",
        "negatedLabel": "Loss on asset dispositions and impairments, net"
       }
      }
     },
     "localname": "GainLossOnDispositionOfAssets1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnSaleOfDerivatives": {
     "auth_ref": [
      "r76",
      "r216"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": -1.0
      },
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 5.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The difference between the book value and the sale price of options, swaps, futures, forward contracts, and other derivative instruments. This element refers to the gain (loss) included in earnings.",
        "label": "Unrealized Gain (Loss) on Derivatives",
        "negatedLabel": "Loss (gain) on net put/call option",
        "verboseLabel": "Net gain (loss) on put/call options"
       }
      }
     },
     "localname": "GainLossOnSaleOfDerivatives",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges": {
     "auth_ref": [
      "r729"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 3.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) from the difference between the sale price or salvage price and the book value of an asset that was sold or retired, and gain (loss) from the write down of assets from their carrying value to fair value.",
        "label": "Gain (Loss) on Sale of Assets and Asset Impairment Charges",
        "terseLabel": "Loss on asset dispositions and impairments, net",
        "verboseLabel": "Gain (loss) on asset dispositions and impairments, net"
       }
      }
     },
     "localname": "GainLossOnSalesOfAssetsAndAssetImpairmentCharges",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r62"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.",
        "label": "General and Administrative Expense",
        "terseLabel": "General and administrative expenses",
        "verboseLabel": "General and administrative expenses (including purchases from related parties of $96,924 in 2022 and $77,190 in 2021)"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesGeneralAndAdministrativeExpensesDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpenseMember": {
     "auth_ref": [
      "r56"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing general and administrative expense.",
        "label": "General and administrative expense."
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncomeParenthetical"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r252",
      "r390",
      "r644",
      "r693",
      "r709",
      "r745",
      "r746"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.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",
        "verboseLabel": "Goodwill"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible assets"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": {
     "auth_ref": [
      "r103",
      "r109"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets.",
        "label": "Goodwill and Intangible Assets, Policy [Policy Text Block]",
        "terseLabel": "Goodwill and intangible assets"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GoodwillImpairmentLoss": {
     "auth_ref": [
      "r76",
      "r391",
      "r396",
      "r401",
      "r693"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill, Impairment Loss",
        "verboseLabel": "Impairment of goodwill"
       }
      }
     },
     "localname": "GoodwillImpairmentLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r58",
      "r281",
      "r347",
      "r352",
      "r358",
      "r361",
      "r379",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r575",
      "r692",
      "r754"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "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",
        "verboseLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "auth_ref": [
      "r117",
      "r128"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.",
        "label": "Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]",
        "terseLabel": "Long-lived assets"
       }
      }
     },
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperations": {
     "auth_ref": [
      "r59",
      "r77",
      "r173",
      "r294",
      "r295",
      "r296",
      "r297",
      "r315",
      "r319"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "definitionGuidance": "Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders",
        "documentation": "Amount after tax of income (loss) from continuing operations attributable to the parent.",
        "label": "Income (Loss) from Continuing Operations, Net of Tax, Attributable to Parent",
        "totalLabel": "Net income from continuing operations attributable to Consolidated Water Co. Ltd. stockholders"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureEarningsPerShareDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity": {
     "auth_ref": [
      "r171",
      "r174"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperations",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of income (loss) from continuing operations attributable to the noncontrolling interest.",
        "label": "Income (Loss) from Continuing Operations, Net of Tax, Attributable to Noncontrolling Interest",
        "verboseLabel": "Income from continuing operations attributable to non-controlling interests"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": {
     "auth_ref": [
      "r282",
      "r549"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Domestic",
        "verboseLabel": "United States"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r52",
      "r203",
      "r213",
      "r234",
      "r347",
      "r352",
      "r358",
      "r361",
      "r646",
      "r692"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest",
       "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",
        "netLabel": "Income before income taxes",
        "totalLabel": "Income before income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": {
     "auth_ref": [
      "r282",
      "r549"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Foreign",
        "verboseLabel": "Mexico"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments": {
     "auth_ref": [
      "r347",
      "r352",
      "r358",
      "r361",
      "r692"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.",
        "label": "Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest",
        "totalLabel": "Income before income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesComponentsOfIncomeBeforeIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r174",
      "r281",
      "r290",
      "r347",
      "r352",
      "r358",
      "r361",
      "r379",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r568",
      "r575",
      "r692",
      "r754"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperations",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of income (loss) from continuing operations including portion attributable to the noncontrolling interest.",
        "label": "Income (Loss) from Continuing Operations, Net of Tax, Including Portion Attributable to Noncontrolling Interest",
        "totalLabel": "Net income from continuing operations"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerBasicShare": {
     "auth_ref": [
      "r51",
      "r211",
      "r214",
      "r230",
      "r273",
      "r290",
      "r294",
      "r295",
      "r296",
      "r297",
      "r308",
      "r317",
      "r318",
      "r568",
      "r645"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_EarningsPerShareBasic",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) from continuing operations per each share of common stock or unit outstanding during the reporting period.",
        "label": "Income (Loss) from Continuing Operations, Per Basic Share",
        "verboseLabel": "Continuing operations"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsPerBasicShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare": {
     "auth_ref": [
      "r51",
      "r230",
      "r233",
      "r273",
      "r290",
      "r294",
      "r295",
      "r296",
      "r297",
      "r308",
      "r317",
      "r318",
      "r319",
      "r568",
      "r645",
      "r649"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_EarningsPerShareDiluted",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) derived from continuing operations during 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) from Continuing Operations, Per Diluted Share",
        "verboseLabel": "Continuing operations"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsPerDilutedShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax": {
     "auth_ref": [
      "r6",
      "r7",
      "r8",
      "r9",
      "r10",
      "r22",
      "r231",
      "r245",
      "r553"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureEarningsPerShareDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic",
       "weight": 1.0
      },
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of income (loss) from a discontinued operation including the portion attributable to the noncontrolling interest. Includes, but is not limited to, the income (loss) from operations during the phase-out period, gain (loss) on disposal, gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and adjustments to a prior period gain (loss) on disposal.",
        "label": "Income (Loss) from Discontinued Operations, Net of Tax, Including Portion Attributable to Noncontrolling Interest",
        "terseLabel": "Total loss from discontinued operations",
        "totalLabel": "Total loss from discontinued operations"
       }
      }
     },
     "localname": "IncomeLossFromDiscontinuedOperationsNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureEarningsPerShareDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromEquityMethodInvestments": {
     "auth_ref": [
      "r53",
      "r76",
      "r101",
      "r212",
      "r229",
      "r344"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 4.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) for proportionate share of equity method investee's income (loss).",
        "label": "Income (Loss) from Equity Method Investments",
        "verboseLabel": "Equity in the earnings of OC-BVI"
       }
      }
     },
     "localname": "IncomeLossFromEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF INCOME"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis": {
     "auth_ref": [
      "r702",
      "r703"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name of disposal group.",
        "label": "Disposal Group Name [Axis]"
       }
      }
     },
     "localname": "IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails",
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentFinancialInformationDetails",
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems": {
     "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": "Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [Line Items]",
        "terseLabel": "Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [Line Items]"
       }
      }
     },
     "localname": "IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails",
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentFinancialInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable": {
     "auth_ref": [
      "r1",
      "r11",
      "r12",
      "r13",
      "r14",
      "r15",
      "r16",
      "r21",
      "r23",
      "r24",
      "r25",
      "r126",
      "r127"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about a disposal group. Includes, but is not limited to, a discontinued operation, disposal classified as held-for-sale or disposed of by means other than sale or disposal of an individually significant component.",
        "label": "Disposal Groups, Including Discontinued Operations [Table]"
       }
      }
     },
     "localname": "IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails",
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentFinancialInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r410",
      "r412"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncomeParenthetical"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [
      "r412"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the income statement.",
        "label": "Income Statement Location [Domain]"
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncomeParenthetical"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "auth_ref": [
      "r156"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by tax jurisdiction.",
        "label": "Income Tax Authority [Axis]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.",
        "label": "Income Tax Authority [Domain]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r283",
      "r530",
      "r531",
      "r536",
      "r545",
      "r551",
      "r554",
      "r555",
      "r556"
     ],
     "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 Tax Disclosure [Text Block]",
        "verboseLabel": "Income taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r284",
      "r300",
      "r301",
      "r345",
      "r528",
      "r546",
      "r552",
      "r650"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest",
       "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": "Income Tax Expense (Benefit)",
        "terseLabel": "Provision for income taxes",
        "totalLabel": "Total provision (benefit)",
        "verboseLabel": "Provision (benefit) for income taxes"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "auth_ref": [
      "r267",
      "r524",
      "r525",
      "r531",
      "r532",
      "r535",
      "r539"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.",
        "label": "Income Tax, Policy [Policy Text Block]",
        "terseLabel": "Income taxes"
       }
      }
     },
     "localname": "IncomeTaxPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxReconciliationTaxCreditsResearch": {
     "auth_ref": [
      "r760"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount",
        "terseLabel": "Research and development credit"
       }
      }
     },
     "localname": "IncomeTaxReconciliationTaxCreditsResearch",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "auth_ref": [
      "r80"
     ],
     "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 Paid, Net",
        "terseLabel": "Income taxes paid in cash"
       }
      }
     },
     "localname": "IncomeTaxesPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDeferredRevenue": {
     "auth_ref": [
      "r685"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.",
        "label": "Increase (Decrease) in Deferred Revenue",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "IncreaseDecreaseInDeferredRevenue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r75"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "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": "Inventory"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "verboseLabel": "Change in:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingLiabilities": {
     "auth_ref": [
      "r75"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities that result from activities that generate operating income.",
        "label": "Increase (Decrease) in Operating Liabilities",
        "terseLabel": "Operating lease liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r75"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 18.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "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": "Prepaid expenses and other assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants": {
     "auth_ref": [
      "r309",
      "r310",
      "r311",
      "r319"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureEarningsPerShareDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of call options and warrants using the treasury stock method.",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Call Options and Warrants",
        "terseLabel": "Potential dilutive effect of unexercised options and unvested stock grants"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToCallOptionsAndWarrants",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToConversionOfPreferredStock": {
     "auth_ref": [
      "r313",
      "r314",
      "r319"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureEarningsPerShareDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of convertible preferred stock using the if-converted method.",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Conversion of Preferred Stock",
        "verboseLabel": "Weighted average number of preferred shares outstanding during the period (in shares)"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToConversionOfPreferredStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r403",
      "r406"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type or class of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit.",
        "label": "Indefinite-lived Intangible Assets [Axis]"
       }
      }
     },
     "localname": "IndefiniteLivedIntangibleAssetsByMajorClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassLineItems": {
     "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": "Indefinite-lived Intangible Assets [Line Items]"
       }
      }
     },
     "localname": "IndefiniteLivedIntangibleAssetsByMajorClassLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r108",
      "r115"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The major class of indefinite-lived intangible asset (for example, trade names, etc. but not all-inclusive), excluding goodwill. A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of the company.",
        "label": "Indefinite-lived Intangible Assets, Major Class Name [Domain]"
       }
      }
     },
     "localname": "IndefiniteLivedIntangibleAssetsMajorClassNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r408"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all or part of the information related to intangible assets.",
        "label": "Intangible Assets Disclosure [Text Block]",
        "terseLabel": "Intangible assets"
       }
      }
     },
     "localname": "IntangibleAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssets"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "auth_ref": [
      "r104",
      "r110"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.",
        "label": "Intangible Assets, Net (Excluding Goodwill)",
        "terseLabel": "Intangibles, net",
        "totalLabel": "Intangible assets, net",
        "verboseLabel": "Intangible assets, net"
       }
      }
     },
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails",
      "http://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible Assets, Net (Excluding Goodwill) [Abstract]",
        "verboseLabel": "Cost"
       }
      }
     },
     "localname": "IntangibleAssetsNetExcludingGoodwillAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InterestCostsCapitalized": {
     "auth_ref": [
      "r197"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest capitalized during the period.",
        "label": "Interest Costs Capitalized",
        "terseLabel": "Interest Capitalized"
       }
      }
     },
     "localname": "InterestCostsCapitalized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpense": {
     "auth_ref": [
      "r198",
      "r217",
      "r271",
      "r341",
      "r591"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "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",
        "negatedLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestIncomeOther": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest income earned from interest bearing assets classified as other.",
        "label": "Interest Income, Other",
        "verboseLabel": "Interest income"
       }
      }
     },
     "localname": "InterestIncomeOther",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaidNet": {
     "auth_ref": [
      "r275",
      "r278",
      "r279"
     ],
     "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 Paid, Excluding Capitalized Interest, Operating Activities",
        "verboseLabel": "Interest paid in cash"
       }
      }
     },
     "localname": "InterestPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryCurrentTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about inventory expected to be sold or consumed within one year or operating cycle, if longer.",
        "label": "Inventory, Current [Table]"
       }
      }
     },
     "localname": "InventoryCurrentTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureInventoryDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory"
       }
      }
     },
     "localname": "InventoryDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "auth_ref": [
      "r389"
     ],
     "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 Disclosure [Text Block]",
        "terseLabel": "Inventory"
       }
      }
     },
     "localname": "InventoryDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureInventory"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryGross": {
     "auth_ref": [
      "r726"
     ],
     "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",
        "terseLabel": "Total inventory"
       }
      }
     },
     "localname": "InventoryGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryLineItems": {
     "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": "Inventory [Line Items]"
       }
      }
     },
     "localname": "InventoryLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureInventoryDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r263",
      "r683",
      "r709"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.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, Net",
        "terseLabel": "Less current portion",
        "verboseLabel": "Inventory"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureInventoryDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNoncurrent": {
     "auth_ref": [
      "r725"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inventories not expected to be converted to cash, sold or exchanged within the normal operating cycle.",
        "label": "Inventory, Noncurrent",
        "terseLabel": "Inventory (non-current)",
        "verboseLabel": "Inventory, noncurrent"
       }
      }
     },
     "localname": "InventoryNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureInventoryDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "auth_ref": [
      "r248",
      "r262",
      "r325",
      "r387",
      "r388",
      "r389",
      "r625",
      "r687"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.",
        "label": "Inventory, Policy [Policy Text Block]",
        "terseLabel": "Inventory"
       }
      }
     },
     "localname": "InventoryPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InvestmentPolicyTextBlock": {
     "auth_ref": [
      "r378",
      "r781"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for investment in financial asset.",
        "label": "Investment, Policy [Policy Text Block]",
        "terseLabel": "Investments"
       }
      }
     },
     "localname": "InvestmentPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InvestmentsAllOtherInvestmentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial instruments"
       }
      }
     },
     "localname": "InvestmentsAllOtherInvestmentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LandMember": {
     "auth_ref": [
      "r758"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Part of earth's surface not covered by water.",
        "label": "Land [Member]"
       }
      }
     },
     "localname": "LandMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeaseCost": {
     "auth_ref": [
      "r603",
      "r708"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureLeasesComponentsOfLeaseCostDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lease cost recognized by lessee for lease contract.",
        "label": "Lease, Cost",
        "totalLabel": "Total lease costs"
       }
      }
     },
     "localname": "LeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesComponentsOfLeaseCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "auth_ref": [
      "r769"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.",
        "label": "Schedule of Lease, Cost [Table Text Block]",
        "terseLabel": "Schedule of Lease, Cost"
       }
      }
     },
     "localname": "LeaseCostTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "auth_ref": [
      "r122"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additions or improvements to assets held under a lease arrangement.",
        "label": "Leasehold Improvements [Member]"
       }
      }
     },
     "localname": "LeaseholdImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails",
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeasesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases"
       }
      }
     },
     "localname": "LeasesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r770"
     ],
     "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": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]",
        "terseLabel": "Schedule of future lease payments relating to the Company's operating lease liabilities"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r604"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails": {
       "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, Payments, Due",
        "totalLabel": "Total future lease payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "auth_ref": [
      "r604"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails": {
       "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 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": "Lessee, Operating Lease, Liability, Payments, Due after Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r604"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails": {
       "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, Payments, Due Next Twelve Months",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "auth_ref": [
      "r604"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails": {
       "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 to be paid in 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": "Lessee, Operating Lease, Liability, Payments, Due Year Five",
        "terseLabel": "2027"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r604"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails": {
       "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 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": "Lessee, Operating Lease, Liability, Payments, Due Year Four",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r604"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails": {
       "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 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": "Lessee, Operating Lease, Liability, Payments, Due Year Three",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r604"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails": {
       "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 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, Payments, Due Year Two",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r604"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "auth_ref": [
      "r605"
     ],
     "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": "Lessee, Operating Leases [Text Block]",
        "verboseLabel": "Leases"
       }
      }
     },
     "localname": "LesseeOperatingLeasesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r41",
      "r281",
      "r379",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r560",
      "r563",
      "r564",
      "r575",
      "r691",
      "r754",
      "r773",
      "r774"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "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",
        "totalLabel": "Total liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities [Abstract]",
        "verboseLabel": "LIABILITIES"
       }
      }
     },
     "localname": "LiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r38",
      "r209",
      "r226",
      "r709",
      "r731",
      "r743",
      "r768"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "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 equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "verboseLabel": "LIABILITIES AND EQUITY"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r43",
      "r247",
      "r281",
      "r379",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r560",
      "r563",
      "r564",
      "r575",
      "r709",
      "r754",
      "r773",
      "r774"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "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/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities",
        "verboseLabel": "Current"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesNoncurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Noncurrent [Abstract]",
        "verboseLabel": "Noncurrent"
       }
      }
     },
     "localname": "LiabilitiesNoncurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation": {
     "auth_ref": [
      "r0",
      "r1",
      "r20",
      "r125",
      "r244",
      "r245"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as liabilities attributable to disposal group held for sale or disposed of.",
        "label": "Disposal Group, Including Discontinued Operation, Liabilities",
        "verboseLabel": "Total liabilities of discontinued operations"
       }
      }
     },
     "localname": "LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent": {
     "auth_ref": [
      "r0",
      "r1",
      "r20",
      "r120",
      "r125",
      "r244",
      "r245"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 9.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as liabilities attributable to disposal group held for sale or disposed of, expected to be disposed of within one year or the normal operating cycle, if longer.",
        "label": "Disposal Group, Including Discontinued Operation, Liabilities, Current",
        "verboseLabel": "Current liabilities of discontinued operations"
       }
      }
     },
     "localname": "LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent": {
     "auth_ref": [
      "r0",
      "r1",
      "r20",
      "r119",
      "r125",
      "r244",
      "r245"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as liabilities attributable to disposal group held for sale or disposed of, expected to be disposed of beyond one year or the normal operating cycle, if longer.",
        "label": "Disposal Group, Including Discontinued Operation, Liabilities, Noncurrent",
        "terseLabel": "Long-term liabilities of discontinued operations",
        "verboseLabel": "Noncurrent liabilities of discontinued operations"
       }
      }
     },
     "localname": "LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "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": "Litigation Settlement, Expense"
       }
      }
     },
     "localname": "LitigationSettlementExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock": {
     "auth_ref": [
      "r742"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses.",
        "label": "Loans, Notes, Trade and Other Receivables Disclosure [Text Block]",
        "terseLabel": "Accounts receivable, net"
       }
      }
     },
     "localname": "LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountsReceivableNet"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock": {
     "auth_ref": [
      "r97"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets.",
        "label": "Long-lived Assets by Geographic Areas [Table Text Block]",
        "terseLabel": "Schedule of long-lived assets by geographic areas"
       }
      }
     },
     "localname": "LongLivedAssetsByGeographicAreasTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LongTermDebtCurrent": {
     "auth_ref": [
      "r40"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Long-term Debt, Current Maturities",
        "terseLabel": "Current portion of long-term debt"
       }
      }
     },
     "localname": "LongTermDebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtNoncurrent": {
     "auth_ref": [
      "r256"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.",
        "label": "Long-term Debt, Excluding Current Maturities",
        "terseLabel": "Long-term debt, noncurrent"
       }
      }
     },
     "localname": "LongTermDebtNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermPurchaseCommitmentAmount": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The minimum amount the entity agreed to spend under the long-term purchase commitment.",
        "label": "Long-term Purchase Commitment, Amount"
       }
      }
     },
     "localname": "LongTermPurchaseCommitmentAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LossContingencyDamagesSoughtValue": {
     "auth_ref": [
      "r749",
      "r750",
      "r751"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The value (monetary amount) of the award the plaintiff seeks in the legal matter.",
        "label": "Loss Contingency, Damages Sought, Value"
       }
      }
     },
     "localname": "LossContingencyDamagesSoughtValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MaintenanceMember": {
     "auth_ref": [
      "r758"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Process of preserving asset, including, but not limited to, building, machinery and software.",
        "label": "Maintenance [Member]"
       }
      }
     },
     "localname": "MaintenanceMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MinorityInterest": {
     "auth_ref": [
      "r50",
      "r208",
      "r225",
      "r281",
      "r379",
      "r421",
      "r423",
      "r424",
      "r425",
      "r428",
      "r429",
      "r575"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which is directly or indirectly attributable to that ownership interest in subsidiary equity which is not attributable to the parent (that is, noncontrolling interest, previously referred to as minority interest).",
        "label": "Stockholders' Equity Attributable to Noncontrolling Interest",
        "verboseLabel": "Non-controlling interests"
       }
      }
     },
     "localname": "MinorityInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The equity interest of noncontrolling shareholders, partners or other equity holders in consolidated entity.",
        "label": "Noncontrolling Interest, Ownership Percentage by Noncontrolling Owners"
       }
      }
     },
     "localname": "MinorityInterestOwnershipPercentageByNoncontrollingOwners",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_MinorityInterestOwnershipPercentageByParent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The parent entity's interest in net assets of the subsidiary, expressed as a percentage.",
        "label": "Noncontrolling Interest, Ownership Percentage by Parent",
        "verboseLabel": "Ownership interest held"
       }
      }
     },
     "localname": "MinorityInterestOwnershipPercentageByParent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_NatureOfOperations": {
     "auth_ref": [
      "r329",
      "r334"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.",
        "label": "Nature of Operations [Text Block]",
        "terseLabel": "Principal activity"
       }
      }
     },
     "localname": "NatureOfOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosurePrincipalActivity"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r277"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.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/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "verboseLabel": "Cash flows from financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r277"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.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/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "verboseLabel": "Cash flows from investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r73",
      "r74",
      "r77"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.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 operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "verboseLabel": "Cash flows from operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations": {
     "auth_ref": [
      "r73",
      "r74",
      "r77"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, excluding 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, Continuing Operations",
        "totalLabel": "Net cash provided by operating activities - continuing operations"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r55",
      "r77",
      "r215",
      "r232",
      "r245",
      "r265",
      "r266",
      "r270",
      "r281",
      "r290",
      "r294",
      "r295",
      "r296",
      "r297",
      "r300",
      "r301",
      "r315",
      "r347",
      "r352",
      "r358",
      "r361",
      "r379",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r568",
      "r575",
      "r692",
      "r754"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureCondensedConsolidatedStatementsOfCashFlowsCalc2": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net Income (Loss) Attributable to Parent",
        "totalLabel": "Net income attributable to Consolidated Water Co. Ltd. stockholders"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r176",
      "r178",
      "r265",
      "r266",
      "r300",
      "r301",
      "r728"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureCondensedConsolidatedStatementsOfCashFlowsCalc2": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest.",
        "label": "Net Income (Loss) Attributable to Noncontrolling Interest",
        "terseLabel": "Income from continuing operations attributable to non-controlling interests"
       }
      }
     },
     "localname": "NetIncomeLossAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic": {
     "auth_ref": [
      "r294",
      "r295",
      "r296",
      "r297",
      "r305",
      "r306",
      "r316",
      "r319",
      "r347",
      "r352",
      "r358",
      "r361",
      "r692"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureEarningsPerShareDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.",
        "label": "Net Income (Loss) Available to Common Stockholders, Basic",
        "totalLabel": "Net income available to common shares in the determination of basic earnings per common share"
       }
      }
     },
     "localname": "NetIncomeLossAvailableToCommonStockholdersBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic": {
     "auth_ref": [
      "r306",
      "r319"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureEarningsPerShareDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) from continuing operations available to common shareholders.",
        "label": "Net Income (Loss) from Continuing Operations Available to Common Shareholders, Basic",
        "verboseLabel": "Net income from continuing operations available to common shares in the determination of basic earnings per common share"
       }
      }
     },
     "localname": "NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Impact of recent accounting standards"
       }
      }
     },
     "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": {
     "auth_ref": [
      "r241",
      "r288",
      "r289",
      "r292",
      "r293",
      "r302",
      "r303",
      "r304",
      "r375",
      "r376",
      "r381",
      "r382",
      "r542",
      "r543",
      "r544",
      "r565",
      "r569",
      "r570",
      "r571",
      "r576",
      "r577",
      "r578",
      "r592",
      "r593",
      "r606",
      "r608",
      "r628",
      "r629",
      "r630",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle.",
        "label": "New Accounting Pronouncements and Changes in Accounting Principles [Text Block]",
        "verboseLabel": "Impact of recent accounting standards"
       }
      }
     },
     "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureImpactOfRecentAccountingStandards"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NoncashInvestingAndFinancingItemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncash Investing and Financing Items [Abstract]",
        "terseLabel": "Non-cash transactions:",
        "verboseLabel": "Non-cash transactions:"
       }
      }
     },
     "localname": "NoncashInvestingAndFinancingItemsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NoncompeteAgreementsMember": {
     "auth_ref": [
      "r166"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party.",
        "label": "Non-compete agreements",
        "verboseLabel": "Non-compete agreement"
       }
      }
     },
     "localname": "NoncompeteAgreementsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails",
      "http://www.cwco.com/role/DisclosureIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NoncontrollingInterestMember": {
     "auth_ref": [
      "r171",
      "r437",
      "r734",
      "r735",
      "r736"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents that portion of equity (net assets) in a subsidiary not attributable, directly or indirectly, to the parent. A noncontrolling interest is sometimes called a minority interest.",
        "label": "Non controlling interests [Member]"
       }
      }
     },
     "localname": "NoncontrollingInterestMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "auth_ref": [
      "r63"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).",
        "label": "Nonoperating Income (Expense)",
        "terseLabel": "Other income, net",
        "totalLabel": "Other income, net"
       }
      }
     },
     "localname": "NonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonoperating Income (Expense) [Abstract]",
        "verboseLabel": "Other income (expense):"
       }
      }
     },
     "localname": "NonoperatingIncomeExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NumberOfReportableSegments": {
     "auth_ref": [
      "r740"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.",
        "label": "Number of Reportable Segments"
       }
      }
     },
     "localname": "NumberOfReportableSegments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r347",
      "r352",
      "r358",
      "r361",
      "r692"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseCost": {
     "auth_ref": [
      "r597",
      "r708"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureLeasesComponentsOfLeaseCostDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "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, Cost",
        "verboseLabel": "Operating lease costs"
       }
      }
     },
     "localname": "OperatingLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesComponentsOfLeaseCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r595"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "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, Liability, Current",
        "negatedLabel": "Less: current obligations",
        "terseLabel": "Current maturities of operating leases",
        "verboseLabel": "Current maturities of operating leases"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails",
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r595"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "definitionGuidance": "Noncurrent lease obligations",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Operating Lease, Liability, Noncurrent",
        "terseLabel": "Noncurrent operating leases"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesFutureLeasePaymentsDetails",
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasePayments": {
     "auth_ref": [
      "r596",
      "r599"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.",
        "label": "Operating Lease, Payments",
        "verboseLabel": "Operating cash outflows for operating leases"
       }
      }
     },
     "localname": "OperatingLeasePayments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r594"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 8.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 Asset",
        "terseLabel": "Operating lease right-of-use assets"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r602",
      "r708"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for operating lease calculated at point in time.",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "verboseLabel": "Operating leases, weighted average discount rate"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r601",
      "r708"
     ],
     "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": "Operating Lease, Weighted Average Remaining Lease Term",
        "verboseLabel": "Operating leases, weighted average remaining lease term"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_OperatingLossCarryforwards": {
     "auth_ref": [
      "r158"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.",
        "label": "Operating Loss Carryforwards"
       }
      }
     },
     "localname": "OperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OptionIndexedToIssuersEquityTypeAxis": {
     "auth_ref": [
      "r131",
      "r182",
      "r183",
      "r184"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of freestanding contracts issued by an entity that are indexed to, and potentially settled in, an entity's own stock.",
        "label": "Option Indexed to Issuer's Equity, Type [Axis]"
       }
      }
     },
     "localname": "OptionIndexedToIssuersEquityTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails",
      "http://www.cwco.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OptionIndexedToIssuersEquityTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of the type of freestanding contract issued by a Company that is indexed to, and potentially settled in, a Company's own stock. Specifically, the pertinent rights and privileges of the securities outstanding.",
        "label": "Option Indexed to Issuer's Equity, Type [Domain]"
       }
      }
     },
     "localname": "OptionIndexedToIssuersEquityTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails",
      "http://www.cwco.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Principal activity"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherAmortizationOfDeferredCharges": {
     "auth_ref": [
      "r61",
      "r76"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization of other deferred costs recognized in the income statement.",
        "label": "Amortization of Other Deferred Charges"
       }
      }
     },
     "localname": "OtherAmortizationOfDeferredCharges",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesInvestmentsAndOtherAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssets": {
     "auth_ref": [
      "r204",
      "r221",
      "r254"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of assets classified as other.",
        "label": "Other Assets"
       }
      }
     },
     "localname": "OtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesInvestmentsAndOtherAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r254"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 9.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, Noncurrent",
        "verboseLabel": "Other assets"
       }
      }
     },
     "localname": "OtherAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherExpenseMember": {
     "auth_ref": [
      "r181"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other expense.",
        "label": "Other [Member]"
       }
      }
     },
     "localname": "OtherExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCostOfRevenuesAndGeneralAndAdministrativeExpensesCostOfRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "auth_ref": [
      "r44"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.",
        "label": "Other Liabilities, Noncurrent",
        "verboseLabel": "Other liabilities"
       }
      }
     },
     "localname": "OtherLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r64"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 6.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.",
        "label": "Other Nonoperating Income (Expense)",
        "verboseLabel": "Other"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfDividendsCommonStock": {
     "auth_ref": [
      "r69"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.",
        "label": "Payments of Ordinary Dividends, Common Stock",
        "negatedLabel": "Dividends paid to common shareholders"
       }
      }
     },
     "localname": "PaymentsOfDividendsCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfDividendsPreferredStockAndPreferenceStock": {
     "auth_ref": [
      "r69"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow in the form of ordinary dividends to preferred shareholders of the parent entity.",
        "label": "Payments of Ordinary Dividends, Preferred Stock and Preference Stock",
        "negatedLabel": "Dividends paid to preferred shareholders"
       }
      }
     },
     "localname": "PaymentsOfDividendsPreferredStockAndPreferenceStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r67"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.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": "Additions to property, plant and equipment and construction in progress"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToMinorityShareholders": {
     "auth_ref": [
      "r71"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow to a noncontrolling interest. Includes, but not limited to, reduction of noncontrolling interest ownership. Excludes dividends paid to the noncontrolling interest.",
        "label": "Payments to Noncontrolling Interests",
        "negatedLabel": "Dividends paid to non-controlling interests"
       }
      }
     },
     "localname": "PaymentsToMinorityShareholders",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": {
     "auth_ref": [
      "r465",
      "r466",
      "r472",
      "r473",
      "r475",
      "r476",
      "r477",
      "r478",
      "r479",
      "r480",
      "r481",
      "r482",
      "r484",
      "r701"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for retirement benefits.",
        "label": "Pension and Other Postretirement Benefits Disclosure [Text Block]",
        "terseLabel": "Retirement benefits"
       }
      }
     },
     "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRetirementBenefits"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PensionExpense": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost (reversal of cost) for pension benefits. Excludes other postretirement benefits.",
        "label": "Pension Cost (Reversal of Cost)",
        "terseLabel": "Pension Expense"
       }
      }
     },
     "localname": "PensionExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRetirementBenefitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PreferredStockMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Preferred shares may provide a preferential dividend to the dividend on common stock and may take precedence over common stock in the event of a liquidation. Preferred shares typically represent an ownership interest in the company.",
        "label": "Preferred stock [Member]"
       }
      }
     },
     "localname": "PreferredStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r32",
      "r432"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.",
        "label": "Preferred Stock, Par or Stated Value Per Share",
        "verboseLabel": "Redeemable preferred stock, par value (in dollars per share)"
       }
      }
     },
     "localname": "PreferredStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r32"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.",
        "label": "Preferred Stock, Shares Authorized",
        "verboseLabel": "Redeemable preferred stock, authorized"
       }
      }
     },
     "localname": "PreferredStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesIssued": {
     "auth_ref": [
      "r32",
      "r432"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.",
        "label": "Preferred Stock, Shares Issued",
        "verboseLabel": "Redeemable preferred stock, issued"
       }
      }
     },
     "localname": "PreferredStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "auth_ref": [
      "r32"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.",
        "label": "Preferred Stock, Shares Outstanding",
        "verboseLabel": "Redeemable preferred stock, outstanding"
       }
      }
     },
     "localname": "PreferredStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockValue": {
     "auth_ref": [
      "r32",
      "r709"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "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 preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Preferred Stock, Value, Issued",
        "terseLabel": "Redeemable preferred stock, $0.60 par value. Authorized 200,000 shares; issued and outstanding 34,383 and 28,635 shares, respectively",
        "verboseLabel": "Preferred stock value"
       }
      }
     },
     "localname": "PreferredStockValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r727"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.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 Expense and Other Assets, Current",
        "verboseLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing prepaid expenses and other current assets.",
        "label": "Prepaid Expenses and Other Current Assets [Member]"
       }
      }
     },
     "localname": "PrepaidExpensesAndOtherCurrentAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PriorPeriodReclassificationAdjustmentDescription": {
     "auth_ref": [
      "r722"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for reclassification affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error.",
        "label": "Reclassification, Policy [Policy Text Block]",
        "terseLabel": "Comparative amounts"
       }
      }
     },
     "localname": "PriorPeriodReclassificationAdjustmentDescription",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ProceedsFromRepurchaseOfRedeemablePreferredStock": {
     "auth_ref": [],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "definitionGuidance": "Buyback of redeemable preferred stock",
        "documentation": "Cash inflows (outflows) from issuing and redeeming redeemable preferred stock; includes convertible and nonconvertible redeemable preferred stock.",
        "label": "Proceeds from (Repurchase of) Redeemable Preferred Stock"
       }
      }
     },
     "localname": "ProceedsFromRepurchaseOfRedeemablePreferredStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities": {
     "auth_ref": [
      "r65",
      "r100"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from the sale or maturity of long-term held-to-maturity securities.",
        "label": "Proceeds from Sale and Maturity of Held-to-Maturity Securities",
        "terseLabel": "Maturity of certificate(s) of deposit"
       }
      }
     },
     "localname": "ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "auth_ref": [
      "r66"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.",
        "label": "Proceeds from Sale of Property, Plant, and Equipment",
        "terseLabel": "Proceeds from asset dispositions"
       }
      }
     },
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "auth_ref": [
      "r68",
      "r151"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.",
        "label": "Proceeds from Stock Options Exercised",
        "verboseLabel": "Proceeds received from exercise of stock options"
       }
      }
     },
     "localname": "ProceedsFromStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProfitLoss": {
     "auth_ref": [
      "r245",
      "r265",
      "r266",
      "r276",
      "r281",
      "r290",
      "r300",
      "r301",
      "r347",
      "r352",
      "r358",
      "r361",
      "r379",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r558",
      "r561",
      "r562",
      "r568",
      "r575",
      "r646",
      "r692",
      "r706",
      "r707",
      "r728",
      "r754"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureCondensedConsolidatedStatementsOfCashFlowsCalc2": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      },
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 20.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.",
        "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest",
        "verboseLabel": "Net income"
       }
      }
     },
     "localname": "ProfitLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, plant and equipment and construction in progress"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r124"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.",
        "label": "Property, Plant and Equipment, Type [Axis]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails",
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "auth_ref": [
      "r129",
      "r667",
      "r668",
      "r669"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property, Plant and Equipment Disclosure [Text Block]",
        "terseLabel": "Property, plant and equipment and construction in progress"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgress"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives": {
     "auth_ref": [
      "r118"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Describes the periods of time over which an entity anticipates to receive utility from its property, plant and equipment (that is, the periods of time over which an entity allocates the initial cost of its property, plant and equipment).",
        "label": "Property, Plant and Equipment, Estimated Useful Lives"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentEstimatedUsefulLives",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "auth_ref": [
      "r122",
      "r250"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Gross"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "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": "Property, Plant and Equipment [Line Items]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r124",
      "r227",
      "r647",
      "r709"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "definitionGuidance": "Property, plant and equipment, net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Net",
        "terseLabel": "Property, Plant and Equipment, Net",
        "totalLabel": "Property, Plant and Equipment, Net, Total",
        "verboseLabel": "Property, plant and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationPropertyPlantAndEquipmentNetByMajorGeographicRegionDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "auth_ref": [
      "r124",
      "r667",
      "r668"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "terseLabel": "Property, plant and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "auth_ref": [
      "r124"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property, Plant and Equipment [Table Text Block]",
        "terseLabel": "Schedule of Property, plant and equipment and construction in progress"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r122"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.",
        "label": "Property, Plant and Equipment, Type [Domain]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails",
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.",
        "label": "Property, Plant and Equipment, Useful Life"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "auth_ref": [
      "r274",
      "r384"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.",
        "label": "Provision for Doubtful Accounts",
        "verboseLabel": "Provision for doubtful accounts"
       }
      }
     },
     "localname": "ProvisionForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountsReceivableNetAllowanceForDoubtfulAccountsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ReceivablesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable, net."
       }
      }
     },
     "localname": "ReceivablesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RedeemablePreferredStockMember": {
     "auth_ref": [
      "r27",
      "r132",
      "r281",
      "r379",
      "r421",
      "r423",
      "r424",
      "r425",
      "r428",
      "r429",
      "r575"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of type or class of redeemable preferred stock. For instance, cumulative preferred stock, noncumulative preferred stock, convertible or series.",
        "label": "Redeemable preferred stock [Member]"
       }
      }
     },
     "localname": "RedeemablePreferredStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails",
      "http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RelatedPartyDomain": {
     "auth_ref": [
      "r474",
      "r611",
      "r612"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related parties include affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests.",
        "label": "Related Party [Domain]"
       }
      }
     },
     "localname": "RelatedPartyDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRelatedPartyTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty": {
     "auth_ref": [
      "r199"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Expenses recognized resulting from transactions (excluding transactions that are eliminated in consolidated or combined financial statements) with related party.",
        "label": "Related Party Transaction, Expenses from Transactions with Related Party",
        "terseLabel": "Amount of expense related to sublease agreement"
       }
      }
     },
     "localname": "RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRelatedPartyTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RelatedPartyTransactionLineItems": {
     "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": "Related Party Transaction [Line Items]"
       }
      }
     },
     "localname": "RelatedPartyTransactionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRelatedPartyTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Purchases during the period (excluding transactions that are eliminated in consolidated or combined financial statements) with related party.",
        "label": "Related Party Transaction, Purchases from Related Party",
        "terseLabel": "Purchases of services",
        "verboseLabel": "Purchases from related parties"
       }
      }
     },
     "localname": "RelatedPartyTransactionPurchasesFromRelatedParty",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRelatedPartyTransactionsDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncomeParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RelatedPartyTransactionsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related party transactions"
       }
      }
     },
     "localname": "RelatedPartyTransactionsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": {
     "auth_ref": [
      "r474",
      "r611",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r643",
      "r772"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of related party. Related parties include, but not limited to, affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests.",
        "label": "Related Party [Axis]"
       }
      }
     },
     "localname": "RelatedPartyTransactionsByRelatedPartyAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRelatedPartyTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "auth_ref": [
      "r609",
      "r610",
      "r612",
      "r614",
      "r615"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.",
        "label": "Related Party Transactions Disclosure [Text Block]",
        "terseLabel": "Related party transactions"
       }
      }
     },
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRelatedPartyTransactions"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 5.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": "Principal repayments on long-term debt"
       }
      }
     },
     "localname": "RepaymentsOfLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": {
     "auth_ref": [
      "r249"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of cash and cash equivalent. Cash is currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash and Cash Equivalents [Domain]"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesCashAndCashEquivalentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r35",
      "r135",
      "r224",
      "r655",
      "r659",
      "r709"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings (Accumulated Deficit)",
        "verboseLabel": "Retained earnings"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r239",
      "r285",
      "r286",
      "r287",
      "r291",
      "r299",
      "r301",
      "r380",
      "r520",
      "r521",
      "r522",
      "r540",
      "r541",
      "r566",
      "r652",
      "r654"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained earnings [Member]"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contracts in progress"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesDisaggregatedRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "auth_ref": [
      "r338",
      "r339",
      "r351",
      "r356",
      "r357",
      "r363",
      "r364",
      "r367",
      "r459",
      "r460",
      "r626"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureContractsInProgressDetails": {
       "order": 3.0,
       "parentTag": "cwco_ContractWithCustomerNetOverbillings",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.",
        "label": "Revenue from Contract with Customer, Including Assessed Tax",
        "verboseLabel": "Revenues recognized to date on contracts in process"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureContractsInProgressDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "auth_ref": [
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r464",
      "r688"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for revenue from contract with customer.",
        "label": "Revenue from Contract with Customer [Policy Text Block]",
        "terseLabel": "Contract assets and liabilities"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "auth_ref": [
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r449",
      "r450",
      "r463",
      "r464"
     ],
     "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 from Contract with Customer [Text Block]",
        "terseLabel": "Contracts in progress"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureContractsInProgress"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "auth_ref": [
      "r688",
      "r689"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.",
        "label": "Revenue Recognition, Policy [Policy Text Block]",
        "verboseLabel": "Revenue recognition"
       }
      }
     },
     "localname": "RevenueRecognitionPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "auth_ref": [
      "r447"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.",
        "label": "Revenue, Remaining Performance Obligation, Amount",
        "terseLabel": "Revenue remaining performance obligation, Amount"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureContractsInProgressDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": {
     "auth_ref": [
      "r448"
     ],
     "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": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period",
        "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureContractsInProgressDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "auth_ref": [
      "r448"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureContractsInProgressDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_Revenues": {
     "auth_ref": [
      "r272",
      "r281",
      "r338",
      "r339",
      "r351",
      "r356",
      "r357",
      "r363",
      "r364",
      "r367",
      "r379",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r575",
      "r646",
      "r754"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "definitionGuidance": "Total Revenue",
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).",
        "label": "Revenues",
        "terseLabel": "Revenue",
        "verboseLabel": "Revenue"
       }
      }
     },
     "localname": "Revenues",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesDisaggregatedRevenueDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationRevenuesEarnedByMajorGeographicRegionAndMajorCustomerDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "auth_ref": [
      "r600",
      "r708"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.",
        "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability",
        "verboseLabel": "Right-of-use assets obtained in exchange for new operating lease liabilities"
       }
      }
     },
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SalesRevenueNetMember": {
     "auth_ref": [
      "r367",
      "r739"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": {
     "auth_ref": [
      "r49"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.",
        "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]",
        "terseLabel": "Schedule of Accounts receivable"
       }
      }
     },
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountsReceivableNetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfCashAndCashEquivalentsTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of cash and cash equivalent balances. This table excludes restricted cash balances.",
        "label": "Schedule of Cash and Cash Equivalents [Table]"
       }
      }
     },
     "localname": "ScheduleOfCashAndCashEquivalentsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCashAndCashEquivalentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of cash and cash equivalents.",
        "label": "Schedule of Cash and Cash Equivalents [Table Text Block]",
        "terseLabel": "Schedule of Cash and cash equivalents"
       }
      }
     },
     "localname": "ScheduleOfCashAndCashEquivalentsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureCashAndCashEquivalentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of supplemental cash flow information for the periods presented.",
        "label": "Schedule of Cash Flow, Supplemental Disclosures [Table Text Block]",
        "terseLabel": "Schedule of Cash Flow, Supplemental"
       }
      }
     },
     "localname": "ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "auth_ref": [
      "r160"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.",
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "verboseLabel": "Schedule of provision for income taxes deferred tax benefit relating to U.S. operations"
       }
      }
     },
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "auth_ref": [
      "r157"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.",
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]",
        "verboseLabel": "Schedule of tax effects of significant items net long-term deferred tax assets liability"
       }
      }
     },
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable": {
     "auth_ref": [
      "r136",
      "r137",
      "r138",
      "r139",
      "r140"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosures about an individual defined benefit pension plan or an other postretirement defined benefit plan. It may be appropriate to group certain similar plans. Also includes schedule for fair value of plan assets by major categories of plan assets by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets or liabilities (Level 1), Significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).",
        "label": "Schedule of Defined Benefit Plans Disclosures [Table]"
       }
      }
     },
     "localname": "ScheduleOfDefinedBenefitPlansDisclosuresTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRetirementBenefitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock": {
     "auth_ref": [
      "r1",
      "r11",
      "r12",
      "r13",
      "r14",
      "r15",
      "r16",
      "r21",
      "r23",
      "r24",
      "r25",
      "r126",
      "r127"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of information related to a disposal group. Includes, but is not limited to, a discontinued operation, disposal classified as held-for-sale or disposed of by means other than sale or disposal of an individually significant component.",
        "label": "Disposal Groups, Including Discontinued Operations [Table Text Block]",
        "verboseLabel": "Schedule of financial information for Mexico project development"
       }
      }
     },
     "localname": "ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r738"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "verboseLabel": "Schedule of computation of basic and diluted EPS"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureEarningsPerShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "auth_ref": [
      "r155"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.",
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "verboseLabel": "Schedule of reconciliation of federal tax rate to the effective rate"
       }
      }
     },
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [
      "r106",
      "r111"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]",
        "terseLabel": "Schedule of Finite-Lived Intangible Assets"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": {
     "auth_ref": [
      "r732"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions.",
        "label": "Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]",
        "verboseLabel": "Schedule of components of income before income taxes"
       }
      }
     },
     "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable": {
     "auth_ref": [
      "r115",
      "r116"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance and exist in perpetuity.",
        "label": "Schedule of Indefinite-Lived Intangible Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfIndefiniteLivedIntangibleAssetsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsCostsAndAccumulatedAmortizationDetails",
      "http://www.cwco.com/role/DisclosureIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfInventoryNoncurrentTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of inventories not expected to be converted to cash, sold or exchanged within the normal operating cycle including inventoried costs relating to long-term contracts or programs.",
        "label": "Schedule of Inventory, Noncurrent [Table Text Block]",
        "terseLabel": "Schedule of Inventory"
       }
      }
     },
     "localname": "ScheduleOfInventoryNoncurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureInventoryTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInvestmentsLineItems": {
     "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": "Schedule of Investments [Line Items]"
       }
      }
     },
     "localname": "ScheduleOfInvestmentsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfInvestmentsTable": {
     "auth_ref": [
      "r235"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A container table for all schedule of investment items. It ties in the \"Legal Entity [Axis]\" to all of its contained line items.",
        "label": "Schedule of Investments [Table]"
       }
      }
     },
     "localname": "ScheduleOfInvestmentsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentNarrativesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "auth_ref": [
      "r124"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property, Plant and Equipment [Table]"
       }
      }
     },
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": {
     "auth_ref": [
      "r201",
      "r202"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of quantitative and qualitative information pertaining to related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.",
        "label": "Schedule of Related Party Transactions, by Related Party [Table]"
       }
      }
     },
     "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureRelatedPartyTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock": {
     "auth_ref": [
      "r57",
      "r96"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries.",
        "label": "Schedule of revenue from external customers attributed to Foreign Countries by Geographic Area [Table Text Block]",
        "terseLabel": "Schedule of revenues earned by major geographic region"
       }
      }
     },
     "localname": "ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "auth_ref": [
      "r93",
      "r94",
      "r95",
      "r103"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table]"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationPropertyPlantAndEquipmentNetByMajorGeographicRegionDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationRevenuesEarnedByMajorGeographicRegionAndMajorCustomerDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "auth_ref": [
      "r93",
      "r94",
      "r95",
      "r103"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]",
        "verboseLabel": "Schedule of segment reporting information, by segment"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r485",
      "r487",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails",
      "http://www.cwco.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails",
      "http://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "auth_ref": [
      "r143",
      "r144",
      "r145"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.",
        "label": "Share-based Compensation, Stock Options, Activity [Table Text Block]",
        "terseLabel": "Schedule of company's stock option activity"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "auth_ref": [
      "r148"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.",
        "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]",
        "terseLabel": "Schedule of significant weighted average assumptions"
       }
      }
     },
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "auth_ref": [
      "r111"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.",
        "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]",
        "terseLabel": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense"
       }
      }
     },
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentDiscontinuedOperationsMember": {
     "auth_ref": [
      "r2",
      "r3",
      "r4",
      "r5"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Component or group of components disposed of or classified as held-for-sale and representing a strategic shift that has or will have a major effect on operations and financial results. Includes a business or nonprofit activity on acquisition classified as held-for-sale.",
        "label": "Discontinued Operations."
       }
      }
     },
     "localname": "SegmentDiscontinuedOperationsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentDetails",
      "http://www.cwco.com/role/DisclosureDiscontinuedOperationsMexicoProjectDevelopmentFinancialInformationDetails",
      "http://www.cwco.com/role/DisclosureIncomeTaxesAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails",
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SegmentDomain": {
     "auth_ref": [
      "r335",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r361",
      "r367",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r413",
      "r414",
      "r693",
      "r782"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.",
        "label": "Segments [Domain]"
       }
      }
     },
     "localname": "SegmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesDisaggregatedRevenueDetails",
      "http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails",
      "http://www.cwco.com/role/DisclosureAccountingPoliciesInvestmentsAndOtherAssetsDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SegmentReportingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment information"
       }
      }
     },
     "localname": "SegmentReportingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r335",
      "r336",
      "r337",
      "r347",
      "r350",
      "r355",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r366",
      "r367",
      "r368"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.",
        "label": "Segment Reporting Disclosure [Text Block]",
        "verboseLabel": "Segment information"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "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": "Segment Reporting Information [Line Items]"
       }
      }
     },
     "localname": "SegmentReportingInformationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationPropertyPlantAndEquipmentNetByMajorGeographicRegionDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationRevenuesEarnedByMajorGeographicRegionAndMajorCustomerDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r75"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 19.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Share-based Compensation",
        "verboseLabel": "Compensation expense relating to stock and stock option grants"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "auth_ref": [
      "r705"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "auth_ref": [
      "r512"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate",
        "verboseLabel": "Expected dividend yield"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationSignificantWeightedAverageAssumptionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "auth_ref": [
      "r511"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate",
        "verboseLabel": "Expected volatility"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationSignificantWeightedAverageAssumptionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "auth_ref": [
      "r513"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate",
        "terseLabel": "Risk free interest rate"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationSignificantWeightedAverageAssumptionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "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 Compensation Arrangement by Share-based Payment Award [Line Items]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails",
      "http://www.cwco.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails",
      "http://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "auth_ref": [
      "r507"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": {
     "auth_ref": [
      "r759"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period",
        "negatedLabel": "Forfeited/expired - Options"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r759"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price of options that were either forfeited or expired.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price",
        "terseLabel": "Forfeited/expired-Weighted Average Exercise Price"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "auth_ref": [
      "r496"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross number of share options (or share units) granted during the period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross",
        "terseLabel": "Number of stock grant rights issued",
        "verboseLabel": "Granted - Options"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails",
      "http://www.cwco.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r506"
     ],
     "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"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "auth_ref": [
      "r150"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value",
        "periodEndLabel": "Outstanding-Aggregate Intrinsic Value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r492",
      "r493"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options outstanding, including both vested and non-vested options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number",
        "periodEndLabel": "Outstanding at the ending of period -Options",
        "periodStartLabel": "Outstanding at the beginning of period -Options"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r492",
      "r493"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "periodEndLabel": "Outstanding-Weighted Average Exercise Price at the ending of period - Options",
        "periodStartLabel": "Outstanding-Weighted Average Exercise Price at the beginning of period - Options"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Equity Award [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r497"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price",
        "terseLabel": "Exercised-Weighted Average Exercise Price"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r496"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price",
        "terseLabel": "Granted-Weighted Average Exercise Price"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis": {
     "auth_ref": [
      "r147"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by range of option prices pertaining to options granted.",
        "label": "Exercise Price Range [Axis]"
       }
      }
     },
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain": {
     "auth_ref": [
      "r149"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Supplementary information on outstanding and exercisable share awards as of the balance sheet date which stratifies outstanding options by ranges of exercise prices.",
        "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "auth_ref": [
      "r510"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term",
        "verboseLabel": "Expected option life (years)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationSignificantWeightedAverageAssumptionsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "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"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "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"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "auth_ref": [
      "r146"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term",
        "verboseLabel": "Outstanding-Weighted Average Remaining Contractual Life (Years)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.",
        "label": "Shares, Outstanding",
        "periodEndLabel": "Balance (in shares)",
        "periodStartLabel": "Balance (in shares)"
       }
      }
     },
     "localname": "SharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShortTermLeaseCost": {
     "auth_ref": [
      "r598",
      "r708"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureLeasesComponentsOfLeaseCostDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less.",
        "label": "Short-term Lease, Cost",
        "verboseLabel": "Short-term lease costs"
       }
      }
     },
     "localname": "ShortTermLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureLeasesComponentsOfLeaseCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r86",
      "r280"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.",
        "label": "Significant Accounting Policies [Text Block]",
        "verboseLabel": "Accounting policies"
       }
      }
     },
     "localname": "SignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StateAndLocalJurisdictionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of a state or local government entitled to levy and collect income taxes from the entity.",
        "label": "State and Local Jurisdiction [Member]"
       }
      }
     },
     "localname": "StateAndLocalJurisdictionMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "auth_ref": [
      "r242",
      "r335",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r361",
      "r367",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r411",
      "r413",
      "r414",
      "r693",
      "r782"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business segments.",
        "label": "Segments [Axis]"
       }
      }
     },
     "localname": "StatementBusinessSegmentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesDisaggregatedRevenueDetails",
      "http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails",
      "http://www.cwco.com/role/DisclosureAccountingPoliciesInvestmentsAndOtherAssetsDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementClassOfStockAxis": {
     "auth_ref": [
      "r257",
      "r258",
      "r259",
      "r281",
      "r308",
      "r312",
      "r317",
      "r319",
      "r327",
      "r328",
      "r379",
      "r421",
      "r423",
      "r424",
      "r425",
      "r428",
      "r429",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r575",
      "r681",
      "r721",
      "r730",
      "r737"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureInventoryDetails",
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails",
      "http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheetsParenthetical",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r48",
      "r133",
      "r239",
      "r268",
      "r269",
      "r270",
      "r285",
      "r286",
      "r287",
      "r291",
      "r299",
      "r301",
      "r326",
      "r380",
      "r437",
      "r520",
      "r521",
      "r522",
      "r540",
      "r541",
      "r566",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r607",
      "r652",
      "r653",
      "r654"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationWeightedAverageFairValueOfOptionsAtDateOfGrantAndIntrinsicValueOfOptionsExercisedDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureAccountingPoliciesCashAndCashEquivalentsDetails",
      "http://www.cwco.com/role/DisclosureAccountingPoliciesDisaggregatedRevenueDetails",
      "http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails",
      "http://www.cwco.com/role/DisclosureAccountingPoliciesInvestmentsAndOtherAssetsDetails",
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails",
      "http://www.cwco.com/role/DisclosureIncomeTaxesAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails",
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheetsParenthetical",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncomeParenthetical",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF CASH FLOWS"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED BALANCE SHEETS"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r285",
      "r286",
      "r287",
      "r326",
      "r626"
     ],
     "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/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureAccountingPoliciesCashAndCashEquivalentsDetails",
      "http://www.cwco.com/role/DisclosureAccountingPoliciesDisaggregatedRevenueDetails",
      "http://www.cwco.com/role/DisclosureAccountingPoliciesGoodwillAndIntangibleAssetsDetails",
      "http://www.cwco.com/role/DisclosureAccountingPoliciesInvestmentsAndOtherAssetsDetails",
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails",
      "http://www.cwco.com/role/DisclosureIncomeTaxesAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureIncomeTaxesNetLongTermDeferredTaxLiabilityDetails",
      "http://www.cwco.com/role/DisclosureLeasesLeaseAssetsAndLiabilitiesDetails",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets",
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheetsParenthetical",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncomeParenthetical",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation": {
     "auth_ref": [
      "r141",
      "r154"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value, after forfeiture, of shares granted under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).",
        "label": "Shares Granted, Value, Share-based Payment Arrangement, after Forfeiture",
        "terseLabel": "Number of vested shares issued"
       }
      }
     },
     "localname": "StockGrantedDuringPeriodValueSharebasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssued1": {
     "auth_ref": [
      "r81",
      "r82",
      "r83"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The fair value of stock issued in noncash financing activities.",
        "label": "Stock Issued"
       }
      }
     },
     "localname": "StockIssued1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSupplementalDisclosureOfCashFlowInformationDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesAcquisitions": {
     "auth_ref": [
      "r32",
      "r33",
      "r135"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of stock issued during the period pursuant to acquisitions.",
        "label": "Stock Issued During Period, Shares, Acquisitions",
        "terseLabel": "Shares of the Company's common stock"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesAcquisitions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities": {
     "auth_ref": [
      "r47",
      "r133",
      "r134",
      "r135",
      "r431"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued during the period as a result of the conversion of convertible securities.",
        "label": "Stock Issued During Period, Shares, Conversion of Convertible Securities",
        "terseLabel": "Conversion of preferred stock (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesIssuedForServices": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued in lieu of cash for services contributed to the entity. Number of shares includes, but is not limited to, shares issued for services contributed by vendors and founders.",
        "label": "Stock Issued During Period, Shares, Issued for Services"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesIssuedForServices",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "auth_ref": [
      "r32",
      "r33",
      "r133",
      "r135"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of new stock issued during the period.",
        "label": "Stock Issued During Period, Shares, New Issues",
        "verboseLabel": "Issuance of share capital (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r32",
      "r33",
      "r133",
      "r135",
      "r497"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period",
        "negatedLabel": "Exercised - Options",
        "verboseLabel": "Exercise of options (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities": {
     "auth_ref": [
      "r48",
      "r133",
      "r135"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The gross value of stock issued during the period upon the conversion of convertible securities.",
        "label": "Stock Issued During Period, Value, Conversion of Convertible Securities",
        "terseLabel": "Conversion of preferred stock"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueConversionOfConvertibleSecurities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueNewIssues": {
     "auth_ref": [
      "r32",
      "r33",
      "r133",
      "r135"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.",
        "label": "Stock Issued During Period, Value, New Issues",
        "verboseLabel": "Issuance of share capital"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "auth_ref": [
      "r48",
      "r133",
      "r135"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued as a result of the exercise of stock options.",
        "label": "Stock Issued During Period, Value, Stock Options Exercised",
        "verboseLabel": "Exercise of options"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRedeemedOrCalledDuringPeriodShares": {
     "auth_ref": [
      "r133"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of stock bought back by the entity at the exercise price or redemption price.",
        "label": "Stock Redeemed or Called During Period, Shares",
        "negatedLabel": "Buyback of preferred stock (in shares)"
       }
      }
     },
     "localname": "StockRedeemedOrCalledDuringPeriodShares",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockRedeemedOrCalledDuringPeriodValue": {
     "auth_ref": [
      "r133"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the value of stock bought back by the entity at the exercise price or redemption price.",
        "label": "Stock Redeemed or Called During Period, Value",
        "negatedLabel": "Buyback of preferred stock"
       }
      }
     },
     "localname": "StockRedeemedOrCalledDuringPeriodValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r33",
      "r36",
      "r37",
      "r99",
      "r709",
      "r731",
      "r743",
      "r768"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders' Equity Attributable to Parent",
        "totalLabel": "Total Consolidated Water Co. Ltd. stockholders' equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent [Abstract]",
        "verboseLabel": "Consolidated Water Co. Ltd. stockholders' equity"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r171",
      "r172",
      "r177",
      "r239",
      "r240",
      "r269",
      "r285",
      "r286",
      "r287",
      "r291",
      "r299",
      "r380",
      "r437",
      "r520",
      "r521",
      "r522",
      "r540",
      "r541",
      "r566",
      "r583",
      "r584",
      "r588",
      "r607",
      "r653",
      "r654",
      "r731",
      "r743",
      "r768"
     ],
     "calculation": {
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.",
        "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "totalLabel": "Total equity"
       }
      }
     },
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity"
       }
      }
     },
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.",
        "label": "Subsequent Event [Line Items]"
       }
      }
     },
     "localname": "SubsequentEventLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventMember": {
     "auth_ref": [
      "r589",
      "r618"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event [Member]"
       }
      }
     },
     "localname": "SubsequentEventMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureCommitmentsAndContingenciesDetails",
      "http://www.cwco.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SubsequentEventTable": {
     "auth_ref": [
      "r589",
      "r618"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued.",
        "label": "Subsequent Event [Table]"
       }
      }
     },
     "localname": "SubsequentEventTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "auth_ref": [
      "r589",
      "r618"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event Type [Axis]"
       }
      }
     },
     "localname": "SubsequentEventTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureCommitmentsAndContingenciesDetails",
      "http://www.cwco.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "auth_ref": [
      "r589",
      "r618"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event Type [Domain]"
       }
      }
     },
     "localname": "SubsequentEventTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesAdditionalInformationDetails",
      "http://www.cwco.com/role/DisclosureCommitmentsAndContingenciesDetails",
      "http://www.cwco.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SubsequentEventsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent events"
       }
      }
     },
     "localname": "SubsequentEventsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "auth_ref": [
      "r617",
      "r619"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.",
        "label": "Subsequent Events [Text Block]",
        "verboseLabel": "Subsequent events"
       }
      }
     },
     "localname": "SubsequentEventsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureSubsequentEvents"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SupplementalCashFlowElementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental disclosure of cash flow information"
       }
      }
     },
     "localname": "SupplementalCashFlowElementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_TradeAndOtherAccountsReceivablePolicy": {
     "auth_ref": [
      "r236",
      "r237",
      "r238",
      "r371",
      "r372",
      "r374"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for accounts receivable.",
        "label": "Trade and Other Accounts Receivable, Policy [Policy Text Block]",
        "terseLabel": "Accounts receivable and allowance for doubtful accounts"
       }
      }
     },
     "localname": "TradeAndOtherAccountsReceivablePolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_TradeNamesMember": {
     "auth_ref": [
      "r165"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.",
        "label": "Trade name"
       }
      }
     },
     "localname": "TradeNamesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_UseOfEstimates": {
     "auth_ref": [
      "r90",
      "r91",
      "r92",
      "r330",
      "r331",
      "r332",
      "r333"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.",
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "terseLabel": "Use of estimates"
       }
      }
     },
     "localname": "UseOfEstimates",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_VehiclesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equipment used primarily for road transportation.",
        "label": "Vehicles [Member]"
       }
      }
     },
     "localname": "VehiclesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureAccountingPoliciesPropertyPlantAndEquipmentDetails",
      "http://www.cwco.com/role/DisclosurePropertyPlantAndEquipmentAndConstructionInProgressDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r307",
      "r319"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureEarningsPerShareDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "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": "Weighted Average Number of Shares Outstanding, Diluted",
        "totalLabel": "Weighted average number of shares used for determining diluted earnings per common share attributable to Consolidated Water Co. Ltd. common stockholders",
        "verboseLabel": "Diluted earnings per share"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureEarningsPerShareDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]",
        "verboseLabel": "Weighted average number of common shares used in the determination of:"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r305",
      "r319"
     ],
     "calculation": {
      "http://www.cwco.com/role/DisclosureEarningsPerShareDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "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": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "Weighted average number of common shares in the determination of basic earnings per common share attributable to Consolidated Water Co. Ltd. common stockholders (in shares)",
        "verboseLabel": "Basic earnings per share"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cwco.com/role/DisclosureEarningsPerShareDetails",
      "http://www.cwco.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 9
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222160&loc=d3e1107-107759",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222160&loc=SL51721533-107759",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=124260329&loc=d3e26853-111562",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=109237563&loc=d3e33749-111570",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "((a)(1),(b))",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b),(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16373-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226317&loc=d3e202-110218",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=126905813&loc=d3e1205-110223",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=126905981&loc=d3e2510-110228",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=d3e1474-107760",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=126905981&loc=d3e2473-110228",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=SL51724579-110230",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=27011434&loc=d3e125687-122742",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "360",
   "URI": "https://asc.fasb.org/topic&trid=2155823",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721659-107760",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "https://asc.fasb.org/topic&trid=2144648",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "63",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "480",
   "URI": "https://asc.fasb.org/extlink&oid=126970277&loc=d3e23176-110880",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Topic": "480",
   "URI": "https://asc.fasb.org/extlink&oid=122040564&loc=d3e177068-122764",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21475-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2410-114920",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2417-114920",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2439-114920",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721663-107760",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128088960&loc=d3e3913-113898",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5047-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721665-107760",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=SL79508275-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11149-113907",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11178-113907",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "30",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126965701&loc=d3e15009-113911",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32559-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32632-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721671-107760",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r161": {
   "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/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5333-128473",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126966197&loc=d3e6578-128477",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126966197&loc=d3e6613-128477",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721673-107760",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4568447-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4568740-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4613673-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569616-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=d3e5614-111684",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4590271-111686",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721673-107760",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126731327&loc=d3e90193-114008",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126731327&loc=d3e90198-114008",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126731327&loc=d3e90205-114008",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721673-107760",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=SL7498348-110258",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19279-110258",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19279-110258",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222160&loc=SL51721491-107759",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721673-107760",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39603-107864",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "https://asc.fasb.org/extlink&oid=126941158&loc=d3e41242-110953",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r204": {
   "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/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r205": {
   "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/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(15)(2))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(15)(5))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(22))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r209": {
   "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/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721673-107760",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.17)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(13)(f))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r213": {
   "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/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(20))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r215": {
   "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/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.13(h))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r217": {
   "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/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "405",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=6957935&loc=d3e64057-112817",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "405",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=116652737&loc=d3e64164-112818",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721675-107760",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(15)(b)(2))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(10))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r222": {
   "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/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(15)(5))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r224": {
   "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/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(24))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r226": {
   "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/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r227": {
   "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/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.(a),19)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(10))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721675-107760",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r230": {
   "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/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(12))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r232": {
   "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/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12)",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611133-123010",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=SL6953423-111524",
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5212-111524",
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5093-111524",
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721677-107760",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721673-107760",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(2)",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721675-107760",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r249": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r252": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(16))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r254": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r255": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r256": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r257": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r258": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r259": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/subtopic&trid=2122178",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r262": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r263": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r264": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL116659661-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(27)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(210.5-03(11))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(1))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r273": {
   "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/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(5))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3367-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3000-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r28": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18726-107790",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r281": {
   "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/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r283": {
   "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/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r284": {
   "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/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(24))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(4)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222160&loc=SL51721494-107759",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(26)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=122038215&loc=d3e31137-122693",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=122038215&loc=SL108384541-122693",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "250",
   "URI": "https://asc.fasb.org/topic&trid=2122394",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1377-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1505-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1707-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(26)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1757-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "26",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1828-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1278-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1930-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e2029-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r32": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e3842-109258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "https://asc.fasb.org/topic&trid=2144383",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "270",
   "URI": "https://asc.fasb.org/extlink&oid=126900757&loc=d3e543-108305",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=6373374&loc=d3e70434-108055",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=6373374&loc=d3e70478-108055",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r33": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "https://asc.fasb.org/topic&trid=2134479",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8657-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r34": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(j)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r35": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "26",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8844-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r36": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "34",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8981-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "https://asc.fasb.org/topic&trid=2134510",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r37": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e4975-111524",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5033-111524",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=84159169&loc=d3e10133-111534",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(d)(1)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=126986314&loc=SL124402458-218513",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(d)(2)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=126986314&loc=SL124402458-218513",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r38": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "https://asc.fasb.org/topic&trid=2126998",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r39": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=99380562&loc=d3e13777-109266",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222160&loc=SL51721501-107759",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r40": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/subtopic&trid=2144471",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r41": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r419": {
   "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/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r42": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r420": {
   "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/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r421": {
   "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/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r422": {
   "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/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r423": {
   "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/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r424": {
   "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/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r425": {
   "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/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r426": {
   "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/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r427": {
   "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/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r428": {
   "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/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r429": {
   "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/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r43": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130531-203044",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130532-203044",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.24)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130533-203044",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r45": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130558-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130561-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130563-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130563-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130564-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130543-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r46": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130550-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "https://asc.fasb.org/topic&trid=49130388",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iii)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-30)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(03)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(l)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(n)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(o)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(p)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(q)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(r)(1)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(r)(2)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r48": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=21916913&loc=d3e273930-122802",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "60",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=6414203&loc=d3e39689-114964",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "70",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "715",
   "URI": "https://asc.fasb.org/topic&trid=2235017",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=SL116886442-113899",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4534-113899",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4549-113899",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.3,4)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222160&loc=SL51721503-107759",
   "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.31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r503": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r504": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(13))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868656-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(l)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r52": {
   "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/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "https://asc.fasb.org/topic&trid=2228938",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e32247-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e32280-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(12))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r530": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r531": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32840-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r533": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r534": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r535": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32847-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r536": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r537": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r538": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r539": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(14))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r541": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r542": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r543": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r544": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r545": {
   "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/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r546": {
   "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/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r547": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r548": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r549": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r55": {
   "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/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r550": {
   "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/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r551": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r552": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r553": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=109227538&loc=d3e44648-109337",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r554": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r555": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r556": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "https://asc.fasb.org/topic&trid=2144680",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r557": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4946-128472",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r558": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569616-111683",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r559": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r56": {
   "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/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r560": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r561": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r562": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r563": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r564": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r565": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r566": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r567": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r568": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r569": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(c)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL126732908-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r570": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(c)(2)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL126732908-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r571": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(c)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL126732908-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r572": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r573": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r574": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19279-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r575": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r576": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r577": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r578": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(3)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r579": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=126980362&loc=d3e28228-110885",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r58": {
   "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/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r580": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123602790&loc=d3e30226-110892",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r581": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=125521441&loc=d3e30690-110894",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r582": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=124440516&loc=d3e30840-110895",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r583": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r584": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r585": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r586": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r587": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r588": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r589": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32618-110901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.13)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r590": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "830",
   "URI": "https://asc.fasb.org/topic&trid=2175825",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r591": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r592": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r593": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r594": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r595": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r596": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r597": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r598": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r599": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222160&loc=d3e957-107759",
   "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.2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r600": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(2)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r601": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r602": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(4)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r603": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r604": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r605": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/subtopic&trid=77888251",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r606": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL122150809-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r607": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r608": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r609": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r61": {
   "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/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r610": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r611": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r612": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r613": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39599-107864",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r614": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39691-107864",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r615": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "850",
   "URI": "https://asc.fasb.org/topic&trid=2122745",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r616": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=d3e56071-112765",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r617": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "855",
   "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r618": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r619": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "855",
   "URI": "https://asc.fasb.org/topic&trid=2122774",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r62": {
   "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/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r620": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r621": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r622": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r623": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r624": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991595-234733",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r625": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "330",
   "Topic": "912",
   "URI": "https://asc.fasb.org/extlink&oid=6471895&loc=d3e55923-109411",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r626": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r627": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r628": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(f)(1)",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r629": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(f)(2)",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r630": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(f)(3)",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r631": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "https://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r632": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61929-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r633": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61929-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r634": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62059-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r635": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62059-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r636": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62395-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r637": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62395-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r638": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "33",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62479-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r639": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "33",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62479-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r640": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "35A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=SL6807758-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r641": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "35A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=SL6807758-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r642": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(c)(1)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61872-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r643": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(c)(2)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61872-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r644": {
   "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/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r645": {
   "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/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r646": {
   "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/extlink&oid=120399901&loc=d3e537907-122884",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r647": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r648": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(5))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r649": {
   "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/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r650": {
   "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/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r651": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r652": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r653": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r654": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r655": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r656": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r657": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r658": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iv)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r659": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r660": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r661": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=118262064&loc=SL116631418-115840",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r662": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=118262064&loc=SL116631419-115840",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r663": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "https://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r664": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=126942793&loc=d3e3073-115593",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r665": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=126942805&loc=d3e3115-115594",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r666": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r667": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Subparagraph": "(d)",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99779-112916",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r668": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99893-112916",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r669": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=SL120174063-112916",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r670": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r671": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r672": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r673": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r674": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r675": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r676": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r677": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r678": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r679": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "https://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r680": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "https://asc.fasb.org/extlink&oid=126945304&loc=d3e27327-108691",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r681": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1402",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r682": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r683": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r684": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r685": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r686": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r687": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r688": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r689": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r690": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r691": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r692": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r693": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=122137925&loc=d3e14258-109268",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r694": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r695": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r696": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r697": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r698": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r699": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222160&loc=SL51721523-107759",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r700": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r701": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r702": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r703": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r704": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r705": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r706": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r707": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r708": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r709": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r710": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r711": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117819544-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r712": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r713": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r714": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r715": {
   "Name": "Form 10-K",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "310",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r716": {
   "Name": "Form 20-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220",
   "Subsection": "f",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r717": {
   "Name": "Form 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "240",
   "Subsection": "f",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r718": {
   "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"
  },
  "r719": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21D",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=SL94080555-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r720": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "405",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r721": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70229-108054",
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef"
  },
  "r722": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=124429488&loc=d3e326-107755",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r723": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r724": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(10))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r725": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r726": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r727": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r728": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r729": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r730": {
   "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/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r731": {
   "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/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r732": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r733": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(k)(1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r734": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r735": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r736": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r737": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "55",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e2626-109256",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r738": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r739": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r740": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8672-108599",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r741": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4647-111522",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r742": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/subtopic&trid=2196772",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r743": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r744": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r745": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r746": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r747": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=126905981&loc=d3e2443-110228",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r748": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "410",
   "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r749": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r750": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r751": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r752": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "https://asc.fasb.org/topic&trid=2127136",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r753": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=28183603&loc=d3e692-112598",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r754": {
   "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/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r755": {
   "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/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r756": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r757": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r758": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r759": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r760": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r761": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r762": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32621-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r763": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r764": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r765": {
   "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/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r766": {
   "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/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r767": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r768": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r769": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r770": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r771": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39599-107864",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r772": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39603-107864",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r773": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r774": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r775": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r776": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r777": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r778": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r779": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r780": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r781": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(3)(b))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r782": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r783": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r784": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4273-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222160&loc=SL51721525-107759",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4304-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4313-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4332-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "230",
   "URI": "https://asc.fasb.org/topic&trid=2134446",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "https://asc.fasb.org/topic&trid=2122369",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222160&loc=d3e1012-107759",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "b",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=SL6953423-111524",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  }
 },
 "version": "2.2"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>119
<FILENAME>0001558370-23-005147-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001558370-23-005147-xbrl.zip
M4$L#!!0    ( )R*?E8D!NV3P1P  $]3 0 1    8W=C;RTR,#(R,3(S,2YX
M<V3M75MSX[:2?M^J_0]<OVRVZO@FS^1DII*<DF\3U]J6UW+.G'TZ!9&0A Q%
M*@!H6^?7;P.\B!<0 "F-!\GR9<8B&@TTO@;0 !J-'__VN@J]9TP9B:.?#DZ/
M3@X\'/EQ0*+%3P<).T3,)^3@;S__^[_]^!^'A_\X?[SU@MA/5CCBGD\QXCCP
M7@A?>D_Q>HTB[PY32L+0.Z<D6&#/.STY&AV='+WS#@\S'N>(09XX\B2ST=%I
MD7*1\8NCC][9\=G)\>AD=.:]__C^[..[$^_AKB"\@_K-B9'RE04?F;_$*^2!
ME!'["/(L$%K_=+#D?/WQ^'B.V.PHIHOC+$&P&1UDQ(SX!>'KC(9'#/M'B_CY
M&!(JA*]A0??R\G(D:073T<G)V?$_;DGTI6#)U[2%)Z14F$:(^$Q-*Y,JQ'Z<
M1)QNU.198K7*0!#P*GU6Y??':6)19\J;[04?:TT 4E9:X>5,$IY^^/#A6*;F
MI W*:GN)Y!EH2"%:0BDH9)ML66I#.*(I@D2,H\@OBL"O_E+-7J146(.>\,T:
M,Z4&R92,G".ZP/P>K3!;(Q]7:N._^/&1'Z\DZ>GH[!2Z7(A%C[J.Z>H2SU$2
M0IO_GJ!0:GD)B;;2BZ1J0[! A0DTPNGQ/^YNI[)KY,0!IS7NE9:#Y&.1+ HX
M.3PY/1R=%A"!/"8!LY:.DM5(I76C$VAKCB-&9B$^%&28(@Y#$CL<B2&I:'T:
MARVM+U,JXE,\;]6"[X\AM=RP+8R+I*H:<-K*^<,QI!:]&"_$B*8A%LR/,[(\
M%^*<DEG"<44?DJBA$:^,F $^K.M[@-<4^S;UVE)N!>)F8?BV)*+N6)!0:=!
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
M?BK<2>-L%:1I+;<IR(": ;5'S F5%W;.8>Z>D]:CJ79"/5J*(&5;5MXLXS4
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
MM$X)]STT]ZE:WR'+LJQL@\NU)BBJU5?\S].+-YUX2N7M<E8$K0,?KF-ZBZ(
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
M8;1^66BX2L]E@27./%C:>P$[N:BAHZ6,.U?;5J;I[ ;,5Q0I;2\K.6ZGQ10
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
M*$@MZ3 NMWIQ>:C0 <2FMN:0?G_K8>!QV=Z+^Z0/M&&*AY[/X+S^7<)RH-C
MBGB$:5E1JU8%7>I/4?0 YN2W9I,2.4!L:V*U5P)WF'"RI_G#O+RD+LZ?+DLI
M,2D4J[+TKB9,WO<DP*(+UL+1-SU RY.U;,!*H1AF@:BE 21G[TAQ+./PJJZ&
M"EO"Y*7FTG83#4 ,R<MF:;G1; ;!!++?3>LX .+#61"$^=1W7AA<Q^?>-DP]
MV:4!:6L(%H\=5Z2H &+./4HI^BBX]$A,]7%RYOO9)N-Y,Q>4SGXHVY=,.D*P
M0^Q89H(5(.XUD3.V(F D-G2U"T%QXW,8<U!*HT;"BV8SF!M.WW9<$V] O.L'
M_4'/=U"WP.'M_7;4 B1=NL.PWC$GZ09SA^U;(O1TT//ZGV_'*T5_YS$O\!JE
MH7^P<[5UZ;\WKTL_^^^U*?['5*=^JE.O16.J4S_5J9_JU$]UZJ<Z]0KM?S/5
MJ7?F,Z<VS8)PK +NQ;Q#Y&%-[1PC-[J\,X0%9,914XP G6SJ('/XDN+]Q#\/
M5JZ2<\U.,,ZY]AQK8@*<4_F3L!9<*CO .'>VY5")!7#N++(T2;V8':0M6%3K
M!</'VY9/-50 ,:L2;K/<LXQZ0KC59L8T(W1@,LYPJU+V@'"7S9I1H#>I!IS*
M'4K:&L+UM9:, ;@W-6#4;TSJ+A"NG+5DC^66-+#7>?\C/9SGMT':N)X_J%W/
M#X_T/Y\O;Q\?9HNKV?7M^>+SY>2 -BB<R?AQ$#,V"1-TN0M:V>.4G-!*1%R7
M,Q6"IO1(:_H <4X;R)L!CZ!XJI-TL7SP(J1^55S0#H*?VDC(ZMM, P_'E951
MC(@7L6)8P8:2D<5FT_ 9%2_T*)EBV!>"6\Z:48:X35[OR>NMRKG<UR7;/1(O
M3CS^],!=1ORUEZ#DBI*EVD::@6D[#(0E9\9E>]Q V>+R#!^-*?[QW3MS4_SA
M<7'^G_]:W%Q<WC_\_[/+__/E^O'?DR$^98),F2!3)HAN!PH0VC#)J;O=E7:=
MKA,$R]LL44&'"1#S+=\YSO%FBV-^4=9 9XG[.-!;NNU?K[?$J$!X F@/DU)]
M2=I"TV J*6L^"-1 !U+85*F^X"HMI5#)8Z0PM%7%0VZ0VN:.]A)]9$Q[ ?P@
MKU4JF:#I R'OQI@A&EQ<&UCU>X0:PTK<&$*2C3$[9$BXY8/XKHF2&^HN$!)J
MC'FB1@6(E3LY*4$Z*:<+D;TZ-+_"2XVFN2"N$T Z)?C"3D3D4I5G#%UDA,D2
MHL#E"7BWZ(5_D>M5H[X0C!"+):9'"#[[<IEKR;]&9P@62R<&-C""ST$N<^<X
M?J;:G@*V6.;_3MG[L0_(IRT5Y1@[CGDZV<,=$84O!KGD]BP'QH.>3G9R5TRA
M24(>7T#!@IS3(X5 NE4<-^A\.NG-IAB=$@=SL6S+PK+WZ>1 &Z,$B(EW!"_#
M] 8G,CY5&X!X1L/TEM0!;$#D5NWD_-N"0Y9<OB+BAXGT0D>+<4 \MM'=WI%@
M!Y_'^>+O@<G*@4"\TM&#,0.?S?MW'L^]9"WAX%$;$ ]QF#'G"') =#\+?LN2
MO"#Z(Y;$MK@,/7E49)CS'\4)SU:^1W]D81*FU"0FSZ&/<GF[1SY>Y<Q0F9S#
M3POBX0\SZ1B>&*"R5-D:N(KPRX$6ZN34[VR24\_/'OXUN[I9_/(PI:1.*:E:
M-*:4U"DE=4I)A9J2>N))7C;ERP!1?4J1@)TB<8M29D+=$<P.%<%\]R5ACS+N
M'_D[\U-ZW.!5:]5OO+09",*Z,N-T&^P '<PH^/DU484W\:@-A&VGO7 >\:Z*
M&%2V=$A%:C$.A*4W 'M/+@$)KI-?XJ/JAVE 8P UYPGS?,1^&*&:A#WB?O;+
M8::"D.G4CX0,0Y_^9(WYJ;@ O?_P\3T7(O;+KQ9OK?*G>8NB"]>;K1>23?,=
MV[X&A;"=#[FZF.CT12M "ND";0GRP[P*3AR<;5B>[9]Y@0\12K)=I,4X$"R$
MH26F WD@"8FYR%]A@L)5G+\@[>=E*2+^Y1/E2L((*DT+Z7\:"/;,:"+6._6@
M2N M3H5H,> 9[(NX;&XB:#:C0;!^G,B3#9$@B8U<[=KO8S"RQ 'L6,!8G <"
M<O0?O=?"WIJCF#))=CC2]H*0(#X>JS7$ ,3N@\)AA0 7RPM$PF=>74YF52A[
M0$C_'HO-2D( 8C%/'ID?)X_(HCJ2QA"RO\=BK(P&@'AZ;"=PABR69]303)/W
MVI4K[@0A.WS\Q2NFQ>!^IP,^K*Q@?COW,TK7F.)"-4A. O;P9/:4A$'HD>:=
MG0[C@,@^'\6]U(X^@):Z&.1]3NF"7+""L"R&HG GV0X"(L%]+%U@2QQ PO$)
MX^ EC**#-U01F9(U!I'G/IKBEQ !$%,IQ@11\^,"Y?^MX%CD VM"538#0#B#
M]Q. LL%ZC.W]")@SW\<9E6XJVXB>$YXB1'>=<Q;MIA#]$J;K<RK_5-()MT$D
M6WW',2$$E>REN[J7=R0 Z%7.]IZ83B2_G:WI R$"U(Z]A@B"9M\=071+"4KO
M3^'TH?+(PY;YR<*8KV:#08C'],UP,\P=*O [;U<H&OH+R?8@)B6,>1PHO0F]
MIS 2%5L88@((H91!5'LK:C@0CW+7*>$X?D'!O!L$DZQ75@IP!*W)]ZC*E[!M
M9PCQC[XUM1A3T)PM=Y5[1*T*Z?U4@WX0 AU]\[.!)"!6FA\1S_.@.OU-FV35
M=5 (YE??UR'$F *2!$,\K++M.HX)P?8R?%JT&Z* Q,!<HCLO?A@66=\+_12X
MF7OC>[C5IAP(@FW6B;M*[ 8_"M$#6EF]PO\C"PDZ9]7REB$= 24L+8*'5T6G
M(=.>$-R6[25T?S R11?0NJ3H^@@%/';*LESHF?NSE[(:B+O%\E\H"AYQ^;>V
MM&3+L2 X-;LQOR,!((G#L013E.C.DN[N(B].*3XLE+H5W(II,P $Z[HGQEM@
M#8G;1_*Z6%JSVV8$"%;T, M=B38@AIMCW]GZ@F%3]\-N&ZSA<_LJC+W8[\'F
M5@X$P7_6R>968@>(R^7>0^W+?1G"0\T9S38MZP38(#<07]'6+,,4-B?K99OH
MOI+_@&(?6;)7/Q)@.[P[S_7H Q0$>EP(8PX4SU@O'OK16M[B3H"M[9;LE6$*
MB9,50_$>;8N'YA=+66$V S/;;!C MK8MMZUQ!\I_FVK6!OT F]<=. R_E#65
MP?WV<H/CU2,BFPOT)+.=Y<TA>*7[8: <1T!\,T>U\RD(QNFG'][:8 V(VPQF
M]O_,#_/L18BG$+-+'GZ* O:!FH#U'RHM\SK;Q_D3EZ]%B0CZC[47K] ]/5U>
M+I=(>FX>&P@(=SC-P]1C4N9KD<PA! W&O= 1Y.;K$8-JM9I#S1':PSHI9CP0
M0-Q('4'*K D#2"A9>4Z*S<&Q'0?[C9Y32^<H-N\/X@*JH8/8'"M O*R\&"2K
M%U!O L+G:RN DC>2>KW@WT.A^\-CD[G_<<-N/A3O3LKY8] /A-.V"],,<!SS
M>1NFI".<9 05UU/X4^I1Z+-CTO[MGNMXB<DFKT:(4B^,S!Z[^>[=AW?O9V]F
MATGH'X=Y9MMB(O;K?JY99;+9?R^F^Q_3\S<-&.=90K5XDO 4C+S>A^+Q&VGK
M4WKZ1HJ$6WTG BO/BT'*=W ,^@%Y%D<C:SH>'2$U1-+F&2+H]3H.,F:F(F:5
M"M]8T;2%8!,82],^#U..SR#IL71=_T)7*CG'9(MSLUY.:U5K")NY/;55& V@
MAQ*25G00_>N@?^@?ORY>8FI.K,.M0/<+OCO0]KIG3QK:7@"V0[H*-;BPA6-=
M+96&!DUU>MB!\E.0W-7"LSOP^(A="6;SWX?)[_/=',7^>N,1U8.$^FX.EJON
M6I[4.--C XU))73JQPJUW8#8:*9"J.;9,7*.G3I>A)+B^NXM2I7/YDG:0C#I
M3$6OYMT1HS.$1?>)X"3)'\21&W*"1A#L-QO2RO" II=VCW0ZNWWCT,/!EJ&[
MP6NS91P0 <85!IC=1E'M 7>/.)8U)7^J*#GF3U$'K0&B^FE572^0NT53]&I,
MTN'D> O/GA+T1T8ANV2%SS2J3=K:@5K3W5N7O] M0P(<)Y0*3=$>B#K3R):&
M)S 4V1%@:A-7W!:"TM(*EX(90!35]% TZ(>B!9Y:YA&B\'DKM%C^C-/*$ZM)
MX<25)9RW'0S"D<>,XVTQ!)1'4%YW*:'<.P@/B,QW=QZ1W]>V&@'"C2$SWEJA
M!8BAE8R5BXRP5 .>VLJO,U4%5:YYC?M#N!!DJIJ-D0+$RE*]G./-4QCS,P<]
M@"1A4"3Z\3<#\VM*LG0?NR$@W/^QT[QF> 'B::E.SC'=$8J*B^&?TCU4WAS"
M51\S7LEQ ,27QLG^H.85J72*+A"NZQBF)BOQ&+P4V&W&4%DL2Q^+L/"UH!'\
MFRDRR*$D'Q9IYT?)YK;9AQ_,L@_9+#,O#F8LKW.&#O--"8B:*QU-%JGB%HH.
MIY2&J,+#]67=HVL;1S"*?U7ZG+H-"<11J!?5^OW>+B@[MA5$)1C5,1%5#PBN
MQ3Z$NK9\50B/GVFVUS>?$%X1;[NFD$62;#Y%VU/)[%.@X(#VN8.S"HHTWT_1
M%D#FGU:*]O27H]$?_1/D?[O"SV^YL45V.0N*/PX<*'[X=?YP;%97/KC.2M2*
M"+>F*P"[=K%-40S(48Q.=VTUUU%[&OMT8AP](0S(U7.%"0I7<?X$E+_CKD(*
M(P6F?.!YCI:TS:/W*A$"JQ$@F'>]KHBJ=%A1 I ,'*.8GGN$[,)X];,729_X
MT76"L*@'X[0.>6#,_1*',?-'!?G=7P5'&RTAQ"@'96,#X\%]O#J(62'[Z[A0
M)G,O/BY:V'80"!'*WEG9EAB#<[DXYIMQ4]$80AAR&*XID(82%)!6G;>-"WPT
MBPN4\_W';,MFY"$"5,XYQ0;4A4#%G-)>;C#J>4K1 B.$G)=M%8.HS1$VZ@DD
M"& ADT;\@Y-#/,_"B)7@4OKYCQM!./M9"%X]PZ:.RB!E#HY!4M0XD#6%<.BR
M)+$:H4$LLY!9*D\9&_1AES!?CYS4BL80CD9MB*U R;$O*B.4C,P08P6N7MF_
MU*%B50<(IYV6VD:%EEL._8S6H1]IN'+<",()IB4GCE%Q2_T;5H:7O<)PO=D2
M_,RM0#4KE#T@)$VVY(L2KR'VC!OOR6!?%K6"D/K89I<0X3)^O/R>%9J6Y"94
MOIU*+D(%9$>T% IOXRN _((&YVLT=">1G[W7<)-MI'0\^NXZFT# ])*01Y Z
M("4EB)*4]>\N#S<Z4M8AG3(RIHR,%LZO+PE:9M%-N)3Y6(UZ0O !F/'2"!U
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
MQ4%(Q"&7\E5(DI1/(U_-S3;.T\3DW-]3L GU(%7)$36' @T!!8V<IVD94%
M]OA[]$'Q,&,]W7U&Z1H'!R74_!6A6V\CRL[I/IP#?2Q[L=G8RNJ&\?@,E\$C
MM=%T'0"8;'T(<<E/';I#:#EF'=&SXSU./'K6Q0_>-KQ Y\]RC:?IX-H@-).Q
MO2+48".CN /5W@*Y/HW?5@O^WHM7,G5=^>9 ]TK\?N:ZMP*^([H*EVCC*P 5
MV9""&@W=2>=G2H]-MI'2\>B[:\TF8'I)R"-(W3J7A6NHX84U<<G=0 CRFJ$C
M#O VE<@)AG2I<'$W^#6%D5!T]BZ7.ZI=*93>"LWY^Q7LM@?F-[#S)A)6=Q@/
M0B#87AXZ(#SX?<('Y+VPA]/853N2H$6RP4E(#:+$HWWS*"0+J%!(+[S='<$^
M2A(*W[FW]7P*E_A(W'%(" %><R[W@S.@X. 90=YBR3+69:'\2@,(P5K[%5G%
M !#EQ2=(@;J0,,:B/X20K3W?+! <7'/FI0"NXU_6H;^NQI$_9TDZ1^=XP[(Z
MQ 64S/M"R,"UU(7FR(W$HWMVR9*@X!'G\726G/V9HL]J_I3I F=_9!1'\1WZ
M-J- R-!MQ3<[-(?GH+=C8%]APK0UG?L^7*W3Q?(7;_<O% 7T]THRA)!Y=@-
MR/FUY9L=AH.S[#9C2"Z6U-))'O%#]K0)TYN0FKU+:N.R6@[41&*'(59G)4Z0
M,%YJ/X;+4A8M&6>/Y."\$R<?F?/-KO^X'I5WO3#-#D- QN4-3I)S#OD*Q?[N
MPMM0.REYP!E5%C][428S*@WZC<O'WOPT!IA!XA^E:UZ@Z@&E:>XI*@1-QCE5
MCW%YUILO18G3&.IQB^F9_A/!V79?L%6H$A;I&I$"LNO-U@N)S$+I8=!QF=F/
MRZ0'M$\A0=<V+?=#'VFYSE)Q*1_Q!CVD]-S ZU-4"@:Q<T,0A#E_#A@F\UU-
M$A*U*"CS>D>;?6357P/Q//*2)%R&1?DE>:4:;2\XB<4CBTUU0]%2R>VNKP!/
M6=[&H!^0XC:&PFW(,QAE;1[R^)ULIU!<^S;J":$0CK%@UB*C)MBY9=WPJDBA
MLL>:'$[RN4/-/Q:Q 6T@.H"ER9B=1P.RV8R[NJ5[E@WEACC'R@XK\JQ/70]P
M6Y*]J.]/ICI< 3F%AI?GQ@%^]"WK!D(6F -"C[M7G6Y^FH4CZ=Q+UJR^+_T/
M2R5X]B+FHS+9Z]J-"R%?S;'D]D!%0/K6 IL[@K9>R.*QW'W)*Y<GZC+@O8T.
M(8/N=.1.34M(004>E:*DXX_#H>0>^8@N$\D+F/V,"R'!SY$H]4C%4U5ALGHV
M./;[TV0&DT!(5SPEA69 4DAZK9JXE/#,I8X*330@A%3*$]%D(O*=I@KC._I!
M[/.]O;O2D@P+(>OS=-24A(B !"T':;&T0$IV9Z+-2!"241V+4RNZ 9*@\KFC
M$/4B1NV'@Y ?ZUB6VA-O<%NI=G0X'!S.H@B_,!J)S"%]'Q#YM2Y-'CV)3B&%
M["J,*;"A%UW'_+52'F.W3"O[V$M:V9O9'I99!9@IW6Q*-YO2S:9TLRG=;$HW
MF]+-@.U@4[H9#,T_I9M-Z693NMF4;C:EFTWI9E.ZF;-T,UF="8*?0Z;9KS#Y
M0K&/(KH847 4TA>I*M.>?^%<,"LZ 5)W0A1S&K*[XU>4ML(F<[3$!.4-*59R
MXZ:?T:=LK_YH.;BGWP HH9HQZ_=7S]8RHQ(L%6,:AJH^&7?T4ESWA ;EX%/V
M56^D=!-ONHY3+UZ%+/25)[?B)$T8;(<'":M@V@67?F@^)7:8;^;Q">EO?,Z9
M%P<S[S#KS*M,"^(!L8+0Z"9\1L$QW4P?%3,99&1%<R4':+[[[/V&"?>J*KR%
M5B/ "?:T8V[M47<;Q-UN)PI0#X!JW6[6HP!QM[60<4,^B]%VRVM>,7JS12DZ
M6Q%D\*2\J@,$AUI+X:VR4(7B($^5$2_@+W#(79F-)A < 1U(+49J$+>Q%WLK
MSD-6I8UXOD2^=8TAG(^[$ER!GFN7L')3K>I=O6^WS5 NG;3M49>]%V%BH9S@
M'=UC3&Y1>OE:'*(^81R\A%%T]I1PP99*A\T0$)1L7_)AASD@YX9"Z:G>&M=W
M@V"MM!%I0VO3^/WQ\2Y"!+]E>47'*TRJK@+-HC7H!V%W[FNE&J +B*D*"90X
MANP7K'0@"$O86*H-UZT464!,-U%;'79@&#MO*\::H0?#@6OKH6VD_S<]M)/S
M%<0A29FN:3G*U^2$M4;>M9I5@FOAC&TU$A"';$NYM^ [1,?LWCFF=L<VFT&P
MB3H(;I5M3>3<\F2>)=1PIV+F_Y&%2:BYRR1M#2>3O;M&E2()CU,^?Y-*K2<-
M^@'1BAI9U/'H"*F!WDWS?V'O69YCLL5Y6H/<]:YJ#4&E&4M4]2DT*49@S^Q?
M21C?X'61*8P_A?&G,/X4QG? K?,L2?&&/?0<Y5F#ZW"K9I>R!P1G60_\4N(X
M ,,2DE:81?\Z,(K^\>L]10()ML"C;PXV-X,7K.TVMR.4'-%:N  :7QUO+T+)
MJ-'0G<1^IO389!LI'8^^NU3S$J:7A#R"U $IO5<U*>O?76I@'2GKD((U21LA
M47,[] 9"'H\-:G^QO!W!T9F=C2E\WHKB_3-FCZ=2=!%![$9!?JH^?O*^ZV#
MC22EC+3%&5#$N!H_9:)>QUZ6^*'I!"'KHRU/=;A!XETA4 I4?T&LRB\*SMCC
MU2OT)4'+++H)E[)0:[<A(5Q0;,WW3IB[21RX05Z"$OZ_18Y*'%3J8%KE$;Q_
MU[SIE8]?_J/,)6"WO*+#+.YR"\KK@LK<@:-&8V^QE9N,-UA;9D_>'%"T7TCV
MVK8HQ<)Q\$D ESKJI.@ Q)VJ$S =7V"X28M'6HI7P)/RL9;S:NUPI1_.9@ (
M;E2]*%899X.=Z\R8J>+=F'D"6ET\%::;"M-][87IIA*KH]2SL\+9,4-+V==Y
M+T4-W?DJY6#7Z'^D]$_0\UB<5C77BXX:0? 4FG'H&')(/J/J^X=&#&BTA:#.
MQ +4Y$$#^,%+@!6J,%Y5W#+BAT'US>%06B(P^YPZ)1J@'J-C\"GXT7HH"-K)
MC%>M402GQBK/BYEH,E%S.&S3*S,1_(!X4M<!_'G!Q?)+H0TDC-'T@:, Y:)6
MY9,&'7"*4/K4:^?1X*PK-><Z(SJR07$D4[>-E678!T*(5J[W#)$ I/PJ83?-
M7B1L"8$=9F<;(?@P&6%VRE%U@+#_*"1+PI<!#ST]&PDET#NQ16[:"1B;% :X
M*4;@+(4"L@J6/9Z>:J-"L!S,F-D;RH#69P4NX].5I@\PAAHJT9,Z;.T5B-2@
MM^@'3)NV.7D)\0+$O;:/%6O9V\? P-:K&?_[0'SDH]Q>2#71./T!SWPD".<,
MC2[NA!^@-5Y'X2AW]!XQ@I4?'Q'9O#=2V";#0,C"-=QO[9$[%09S <WB])Z>
MJ8L[ 6T8+!P&PHL=?3!8B)RK$FS%(T&(58:[P?&*R=L%6B*Z-[#'J_8JR"ZI
M^OV[[YK%V=A4LY3-1?^DT\TB.M^;E$XX"XH9V>=]DO5N2K'^*S]HKD_RTR(#
M*#MO>G?<&+DI*6YZ=WQ*?VO0__33WRIVQ;X:K<;'INX"X<ANQCTU'H"L^P:@
M!U,6)\FY1\ANB<F+1X+D"A-JV$IWL18#@5".!D*JY*P!GL.'.8Z!NO'B8.XE
M87(1+NDG%/O'9JU%/PC+SI1-%FB-SQ6J.TA*MV#VBJ 1.^H=('BUNO&AC@]D
M-4C_<4[_#M/:BKY'":)D6YOJ0-TH$'Q8G16@#DG(;#[WMF'J10W5;<I@>7\(
MWJO.K)6C!YFI]!_E;\5=4B:,Y!D5S\62S(L2_E\4R"/]_0\_JDC\;;C5W@[[
M\;?;)JCB>(LLRZ/3>*,R^^]#;-96Z$+6!S][498[J:((OWA-6]BJYZB,_<=
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
M?*M:C\N=47Q<6IS=% >Z1VF8)U?.44Q'2A.[PD!_?_?^N##08<C94S$F@)I
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
M-RN799_#<BAWY2*<Z>;O!N=Q%EVFXR;R&+OBFQL7_=,U^5>'??Q2XC3"42T
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
MDG,;L.1(]CHZZQE%A?JM!X4+Q\K%^SC$E4!5[/OM3T 7=?RE(N>?<::\8I)
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
M:12BVZ-2"0[0G=+ BZ0O987AB[Z87+L>Q1N-T3IJ';P/.F/R.0V*7VYUBB1
MH3!KFTJ?H]<-O7^-R\?S0U%F.YP;PV-+;*B0>9!PW3#:"A4@M![ E[)G>P%>
M&MP@A\D%VZ-[J7E:UVR+ZYONF1Q=A<X+5]0$T#.A@&H2'GCPB4+Z8V'*\N4&
MGVZ!!U;6QDZ@H[(V>B2(LC8V',DJP+RQW@]R,>WC[&$D/%-*RSA\"+X_JFH?
MW1ZU>NAV>O K=I]5VC=AH_('+/QE2_O2Q71&/I@*C*6.%%8TUH$DG-OK*/XD
M%3:ESX[0"?J"7^*0=2'Z&R:A6T1"I223]FQQI;Z"5.(S+<DLV"\[T\F"*?@L
MTW&D\9-H0IC # S+;$)X-'K\GE3V>'3E='&SR+I9;F:\>:3X.<NBYSA)B,>[
M2DO"9?R0X%/:B$D0R+":#:0!8^JC!!7M>A !YT8\@CO)L6J-R%MQP6BDFGWS
M)8,%)M1=@[50W2L'(QK S8,E3SK]XJA^;69F$0S0<*YIH2O3SN,8""AY0LIJ
M)RNB ^$^W4$RO*30 P4"^M9$SW 5?*1;SHDQO\: !*4+-J)T=4.' : K9G:D
M14(P7J$&#7$\+^+>D1*!60.)S+,=O@]>!B2P:#"@0@2C$-W00 D.$!(8>)&L
MF!0#E<&+/RIC#B]U*-XHC2&@5,/[H#;F2(OI#<'Q[:Q@O#!P1G 9Y+2"$JV]
MRMH(&9RF&AQ&^4WLBXJO@G6N]'I&>CI2@],25[R.@A>:8O*5&G@_=$7K)97
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
M'.UN112AJF[":**6*&MKXSA>&2@7 Y]1C6]P'OX:D+CB/,M)!,AF2:W(.F@
M538SWRBS&A1&G4W\2+9)9&^R8Q"H* /Z3))N8FXN;\\1(X0$2HYU>+ P<J[G
MBP2*O!2B /)?;01 _N.OZ^>4!-*/\5X2(4I^=ZO92@:I+O=^=+9"*T;N?=H&
M9O;PSO:C2@,X*03@A^T'99*?83ZN-M 2/N^$F&IR_'Y.ISDMN=^XC8N_G[V>
MX31\W 7YWS7;/C,:3/1N*XX8O)MPG,?N=@S)NB>W:(CBH08-<HO8%Z?F2KM#
M-*/YHF)R<?0JUL7Q0,5D# U4,4@_=A<DN.ZH_167TLC;  N4^JICO)/-*@-T
MGZ"JYD*R=>0/AP45X?!S'A]\SK.BN,FS32S_Z"H@@%V6DM5F<]6#@-E3*=B0
M?.#ZXF-+,6B!5%KWE&^N'&^=;'EF<(@#3M+')4*O>S+<L*BKQ?!E->P)88BU
M:G /UL C7FR6/XKA57!%&1H65XD8GBA17PBM$K7@\$ITS(N]$H%N ZM:%SUQ
MM(&4$0M(G>R$Z:B4'L6]6MGPTU>M"@M)= QTJ;L[/!3X'P?"TN43K0RE7^:4
MT$ 1NI[Y3HPN!W4?I>OXZ*<H--"(@8,O:A+VM4N:!MX;E5$O9TI@']1&NY0I
M% ?T'* K@OX<0 [KA<IHS@%D@-"JHEV6>FH"NA9),B/HM1O=#V_Q>O-+QNL9
MEIA,65E4F0^1?9J%%3%O<EL&B&Y(>+&@Y$,6C#6;EJDQ+3V:QL<IHH9DG3D3
M067,SSH#[9U57&&@0"&?$U/^$J<9;1)8\]_PUXIX]GH3Y.2?BND91 '&:$<(
M*5KJ '3GYCF8MYY&TG3SC&QTLB01[6Z%6E45#/3A%7%J4-8X76")"3[B!,;\
M6.6%JZ(XX.B"I>7?L#QU]O!9=#C*?9X]/E!,-E3 3IQFB^P^=AO&63^>8R4R
M. '$*2!.8L7?\1<K<8WLO8F:14!SW9"I4C+ ^A5'VS VS':[+.5U0D #6,+2
M0YRR(YYS(D8<5<WE[NF#$]Y&YH,A*K C 1NL#A%3%J+:X(,%IO;,J<-1@<8*
M=:@@@0QT #I!4OK8!L32ZF6:UE0LSH-]7 8)?5ZF$%4-#F-!)O9%:U'!.K<,
M/2,]W:C!$8-' @+,JC.:?37C,/>(;42J6D3T*)[<)$K$T%XE"O#P=XD]9BPN
M$\43"1@3&"%&]Q"ES(@ES)@B]/5 3QO7FZ:@ORQ_1 ($D"*D9+5)$>I!P*0(
M*=C0I C1*#IE6.R]:XWG.$W(EN^O#:<-)(Q?)K'/:1K1_[DD6Y:G(*%/L70Y
M0AH$()]L%*'CD970[OVQ@15IH,IJ&;!_"#B0EZFWF#Z("TL<R>61_U5[<3:-
M)(P6SC$-HIY.H>=<DZ<S.T3701.9<%ZRRL\E+F@WWWU6*!*#K3" /*99B([+
M5(.[]YDF7OJ*U&*P_HX<Q=EKMSL2X["2'&U[F"!1/&?4P+I_ 6=DO'X+IP1T
M^BK.P$4_3UL <_T"LFI@*+*@? NI@070"1/CC4ZH -WJA)X+@T[,M<P4.'R_
MS9[(W-*>;J]<,:K_:/6B^L-?S^Z.MQ7"#XYWC#V6V"ZQ^:NS;WD\9/^L.G@,
M=K0W&.A["Q*H'$4XO;BH^P<QZG^@_6Q"51[!3+3A-FBS3<SQ7FXR89!MWTQ<
M2Z/F52]DID6$:WJH":R/_];=3U;CP)A2W07SD.<X#5_OVQ)WGXE+OLZ*X@QO
M",Q]\**8Y$$4@*K<#A>R4[S6'MU]3=JAO/5+S=9M7BL22*"!*!'TCI+Y=H4>
M&"5$2 $5OYXL*RW_NJGD#6MYMP09[DA0]#CE>9#GKW&Z995Q-4Y-AP2W\IA%
M.5Y2U!@@:X6)'?G12<?]!_0"D"/R^LU -S>CI:'K%2MAB5MTJ(R#45+</69Y
MB<@,[>H3"#CC_CDEKH66M#[=T<!:(V8/$LZ,%4P?V^X1&(C!2GE0A&H-+.+
M<(9IQ_7%!.55]2$VA+Q_PDETE5;+[%F0RCL/#R<"T6MXK*AM=^&A%(#Z"8]C
M4U<=DM[O!DPU^4I TY)I >LZ<GH@5% 0LK."0J@WGK?;'(KGNHGP3!/!5L%3
MPZZ-$D-7*:J#9TH/H+SUK#)K/_.,7JAV;%;>1@,,X%6,K#?>0PD)XR4,[/1K
MJG+S;V]Q"JEZT("7-EH,J)&0W]J8D2ZW](_LLJ! 498D@?,4D:%27^AD!0DB
M;_*,UN=]O2%\EL32J6WOZ9<V5IBQPH0),@<()0:=%FC.@U!KGOJ)<A7F"C%<
MMN]JL%?@#_>5@AF?\%MA>J9X^F?]%FC^*)[QJ;^5XD$F?IP=XH3&D]I<CV,@
MJ)<M,E:[;U=$"(#7*?WA)>]/.- 21?UZ^JFII*X"A2BCKF>[K:$NAW-W7VMD
MHF__S.I/1:M?XL-?Q'1/\G"@$>G=:U'BG3P3T00,$>6;6&^C?!6D6P4PL"'K
M[-S HPH!]D;_TR$G^X5#CHE>?HI?Z+_TB:LZ!*!+1J,(G3M%);3[*T0#*_V7
MZYM-'&*TJ?%6:%.AL6 "S^)6)JO4+_@Q#A.#&AT#P:B.G%517;H0SE5$-GQ/
M+6H@V,]^C8,"/V9DP[_;Y]D3[^VLU0$M!HQ"6 @A:H<&W+FJ&'GIZ4V#@424
M)6*2Z^#!(@Z500%$(6IFF_"C#^(V[E"-W__$P<.BRX(A"_B6\"([*SOZS7V6
M;X^Q.JNW^<%I%N_1J/T[(OJ[ZQ1N-JC46GN_ GW OG4>_>3^(^J+O?//./L9
MC^%#?@E>XMUAI_R41[^[_YA2!NO/V?G1Z0>5C-S[I!6,>]?Z)4[U'[7[.\!'
ME3'8?%3Q1[<?M3]R_Z-R&-AX6GG0_'.!-X?D.MZH$A6M,#V[".@+9741T*+Y
M<Q%PS-/0BP".CR@!OQ3OLBCC';UQKB5\PH,O0>4T/%-&G:!6:BDCX(^"JKD;
MJJH-I59I":T9-XZ?@CAG.:<7F":6LFZY7W#YF$627845!L"&TDZ(9G.I!W>[
MT;3AI?^P@2#Q'&PDH"&.-V$7,UA'I-?EECA>Z4G_BMP*P1==T5Z+&[1E_F[I
M%W'!4NMXTMZG)'OF8VEOR;08,%=E%D*(]V4:<.>79D9>9#=G%1+/":5HC8XL
MT!+O$$>8@.&;PT,2AU7I4I.>V&!!-,VS%J;MHF=$<:LSMOSTW[O7B(ACUE5H
MY]"=&:H_5P4=Z@J?U6M^77$J PY4E6<+0;J5G34( -6<C=ST7SM5(*!-?C@/
M^L8^71@@_9 QVM$'$<#]]^^/KOG>\T<D%>U;7 9QHEY>I&  ZXF&W68!D<#
M). K&3$]Q(G339;O>%50N@<.>%Q:9HC3<IQ2/T0."K)$5'1V2.3=#'N_ FAE
MG[E&&=N?W$8MQ^-*$D"313HZW^'\*0X5*3A2"! W(F-2\"#BSVX_G&QLR8K
M@9;X@%^"]+ )PI)U7: O>C2?4@T+\%%-C#>?5P7H]D/KN9#<]@G@[*75(E^_
M.59MCE3:ZL[-.K#/<MYXJEFF9 *.)@6@.Q/%;E1K)!V8^&02LZ88!C?G\QMZ
MRO;$3MFR#<IKBJBHPEK'T<R\4K?7$,)AHE 0O:*(&I)(H.FZQH;O\L_JM^JZ
M(?Q9Z^5+B'&$HY8UN[DQ4_'"6]D*JW%4)A*^^"@[/HWNJ<*C^RNA><$;\EHC
MYT%JL&%=OJAZ UY3 ^M&X4#F\^$R3RK#TG2(N4RW<8HQC>.(Z%E^FD9?"'-Y
M'"0%;3RC#K='$ $IPS)25*$,RT *;B/WD>Q)*G T=)! "#%*+-^AH<4:)"T1
M[Y_G,1OB4Y;?XC#;IO$_V;K_1#PA]7.GK!>2=!8L,2$T<)!0K=I9H0&5_!G
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
MQ1W.K]*;/-L2:8NJ^E7=\P%'IVG$RUP6M/H#CB[B(DRRXI!+'QLL,@),^+/
M)(EATXSD@7J]+"!#/_>N@:([<['C=/"0'<JF\EK3'B9B6>.\]&K!BHN0/]%\
M(@*R#7*6IQ16G!?\A[!BOJ!=9/85_ZX[R;B8S'H01$=!]3 K=)6B>B1ZG,-G
MM!T,D=&JDK\%XN.MD/!A(!^+-#.SX]W';W#.5(18]_HAB;=,5RY?]JPVUGV\
M(R#KS1WY:T&K]]'ZOO0&\X)L "4%-Y8:!&8)7V:JQ!!@WA&<AQ!+L"\Y:&2#
M4#NKAD'".*@=:(7JH1 ?BSI <;058N,A.N"$LB9+1PFJO<YBH[SE:$&ZRUIH
MB#<>-9CV>6QS%U, VA:5-Y9#&_Z:C$36U2>E:WZ8'&A#3;+X!ZBD2]E[=/](
MX%L8>HIPJ)*<(\X!KIJMLES>3EQ2%%D8LXX]++J(6&D9M&/G#@6*,.&!CT8S
MGK,<$<-_1<$+9FWNZ*4@Y^&-QA^FS[)4# *]EZ]8IJ\RY'-)M8SVA"T*(B)9
M/X(7_3(TC!)H2#%&:$G<,(0,5' PG$=5!,"?XC3F\'QL#A4]5!-$A")47M+L
MPA?BAHTZ5?:X)!5V9GPK%N+^(<W,00UW*MREV'K&+HXG 8=,$&WX("+X$PST
MN=*U\*DV^#0I0;FK%_)M>-:J!VNKA92JE;)J.L-Q7:='31'HM'LH VOVK"5+
M&FRM#S %!$\,OB>"UMH;:'],_8@E57LELN_-:\C*MFO38'9?&[H'9FV22&[3
MJ$&#:/0\0@PEOS,;Z5=<KFEX4I6(MF6_A^:)P2K$T9KM$8X_QBME3%X$'I="
M+[1,0-*NVRLO%VX[L55K-\%&(KK;MXT3A:+,-YZ7/>1&[Y(X(%AQ^?JMO\?_
M4XY[O3ZL'WT&[^?1^O03<QXPP-SJSR B"7-J"?>"A)E10G]L37<]<L-\^(>E
M;E\:\AY;[(#IF?5BK:+MI]U;,[[H91H?R6/?X?,TN2FR*XE<KNOXHW=%H9CJ
MH42 "O>.$K53XG<0!??%@$>PIXZRCP[/&T*RFR2H,_19)&X:3C>'YW4"E'B-
MR>HOU7/31.AU/:<YNPYSBG>T0-0UQ2,NXO2A8 /+]AYZ>(A.Q!8"M#V)-< P
M^W(S1_U-7,:OH&-^6?T4Q G =?,(QBL4Q'!04B$!U^6^R6EALO+UAO!6GJ81
M+4J_WQF>ZMFC0U?>MA-/7FI;CPM86]N&,5F9!89$ B"*QI),&T30#,AKPHKT
M@9$, $:A^BR**M/^ZEPICH?N)Q'1[PSZ9DBIK=>&-T0VB&#%9BQ%.BHY8\""
M*#QCQ=)0;W(-G,NDE$OW3LF$Y)FN*=\QZ3'\T3'=XR&M?BG>/KFJUWG8'1*:
M77!!DS)IHB2)XLB_$\QB0)97F)?Q/]G?E<(K)FL^\F U0&>=GJ-JH;/0AJ@K
M.B/CLG(G-7DDTE^A9@1F/^(8*W1D8:NNB4&=,2P\5=>X*&AUE&:^(F$0J"-!
MLFD\L+/)-EU9MTQI,< .^TQ"')WLJ< ACO'TO$CK+]08]*RJ3?I>[D6NW>G<
M1$'JAX-SIL0$^[@,DO-LMXM+:I?R#!@)%$3"BY+9-K^E!P*4SJ+@0Y. %G(4
M%+8X*#N411FP$JRN$U-L!:@ D0 Y<V&;OM&0U23$T55ZA_.G.%3E5]H@ I6]
ML1:I4P7'B 66NF7+FN3>L'HW5?#>#:TU*'P?VC.Z]$\%I^P^8VNTM!V'+CQ'
M0AR=_JDB -,C2(BU%(M8%P2H&Y"$S4X+(.%W]WU_>H/W"PY A[3M036M$U)P
MIVUWG=!'@+Y 4(D@OS(XA@:\))"SHNVQ*: L4!+PZ]WYZ?80J$N)'0$ K)U2
M%ILULO.KVY)ADJ'[]Z)WYX@"+5$.[IY@K#<WCT&!"TF9"04,P!=4,=I\Q&,
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
M!!C--(L@*J$:VKF^F5CI-[_)TI,* P4-"E0L/0_[,QX.WN=!A*E)J0N?]4
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
M-[X::XM@O;]FDANLD9\M_S8M_$;2\MLJC6W[1A'RUCYMNM,--U(OVO3-.07
M#?IL19DX$[[;YA1S]-8"YS(ZJ*R%25+RI(;-H3SD^.A1FW^&]G/:/LB[?*&W
M=?SR<,S4J&EY:((FP:WM447(+^/4<SG*4D62B--$G.B\9OLC%SW%6YJK.-IP
M1\S 3RC>[0]4/'IM39A>_EUUC(MS?IE*?AF2DOO_M?=UO9'CNH)_12^[TP-4
MS[DS@P/LW@4ND(].W^RFDR!)=V,P#P=.E2KE,RZ[CC_2G?OK5Y0L6RY+MFS+
MHJMQ7[I351)%4B1%41+9"P#]IH8EB3V/IPV]EW!7PPI%?T^EUQ4.2WL>/8Q!
MQ_=R&SD;:CA+NIP[CE#U-F0]X2[OAEW'ZV1/;Y(LNV(BHT/MG#+YHJ+=4_"=
M9E?L8_@2WR;Y8_'\3[K.GQ+E5QTK9A@$P7;-QJK*OCD? <<&SD2&;KM*#E E
M3U3(8WM;>&V<\<<&;'!A!+4VCSQS!"!W!!N#Y# (R7=!3L)V-JNMP$WMSIL&
M*:2BRDDF,(:F-;P5^;8+USN QRO.BGQ9@B9 $+A#7F@,(-EOJKV& ;@*@Y4O
M\BS<4)[VBK&<.2UL%>!+0/K&LQXE^W =1KXOSOF:X9)?-]5L:HV[G,VR-0>X
M(N6 A(U(RB')4])HA%(WQ!?O)/WOC#)*LY^1RG6/Y8#!RY\"$*MX]U06-&MX
MCX6&4,I[&JHF$_$.0/X\UDA@O1YPSHU/]'NX;EUO6JI67[(_LCQ<N^-.#?%D
M]/J8"1,56X([!<UNXNI8M27P$]+M'GY\AMJX&_+(/&^D+%@C:/H4QDG*4X")
M>-E9O&E"^?"O@OW\B>:[A/WRRIIT/;;SBL')V)"I3)YH<\8.?PHV:AIMDVV:
M@$X$>*+ 7QV9.\CTR0 Q%D0 Z=H0GO9S7K88/FOV^2B&LTQ:?$4WC $1M^",
M0"@F'#'JRTJNYS2FV[ O4? X4#BF; K9JDT: \>[<1F/I#''=0EK)=9\_I*2
MPUN!ULL"P.1="?3GN9,4]UY&<<^"?U^ NK90MZ)>TVL)2F@DQJQOK2[(JF7
MIT^+]#JS!$6Q):ALCJD2W3K=36U?7U3UL"-,HR3=';%4Q08KH\(<K38+5)Q1
MY/%.F,I3N;M#M,;8"55=>DC1Z(FA!Y:"=*)CU(QZS^5+(?JV6J/(X?<*4#3A
MDFXI0WCC8B<T$A:.WDPB7%6G48"\:]D$+-MED$I8)[<=FH,).!NB(TJ&+62V
MG1>AF ,6-KN>V*HW;&4XUC6$%6^@5@VC#W,+)1%OV(%QJF0' E>AAI"I4RN;
M_FC*98^<6<6.MUG+5;4)U.)MNB3RRB$#(X']?\&^#(TGC/W=<-6JCQR=*IGZ
MH*E/-T)FE5'/O+CF@+*4?7'V7R,IPMN!?=ANZ3H/7^O#MP>FH0\41#",0GX\
M=Z:&\ N&PUNCL8$53B#C*)=#IJCZYP"L=Q5UAG-+YBO(ZDH'[4D3^HH$=="^
M&N&X$WHMGOD8]?F7QU](5A&^+5F18JVD-I3J7836>Q W()=K)/K8,-0ZF. M
MTBQT(SO!'I@]9;CZ<@)V8"!G!+VY("^F/'&SM *4#[=8.U#>3VZTN Q91XA2
MA\$4)O:#7JY=L&7+4/O0!W>1=L(.Z0GV0KY].6ZG#C*3W;!_FSXCIVZ3F!D/
M_H!-OEX35^ 6:S;J#=,#S2A3OMT$KNF +=<TF$D?:@S:D!:I_B8T)RA\'098
M$0GT)!3<FA?R9_(_@_WA_Y!+^DJCY !78!7B'3X,MT&>\7<?Q'#ZG-.]]N7W
M&"@(3[O'$UN]W1X. N=Q]E@\VUDJA')!K5CFG<(#Y4VY,*WAWG7^C=*8I!0>
M:/-T*?(&=E4T[MVS/*<%QQZ^7?>V9#^)]"O/;R0X'*(WN.O.QRZ?SE1N<KU]
M5@#"#IH7+3FD%#Z7/[V+ZMOX^O?BQV_"*PZ1$%CD^?FULSFT-; *O1P<RL-I
MEY*K3IYGH_DQ23;?PBBZWA^", 5=O=>6'7<!<*&FM)<%@ZRJ$=IR#6P/RCVV
M=EU>1NNUJ1MY;-+9DEFY/ AC;DD3\E*B!HFN2MP6:-V&,M#>DY2020UZW@A3
M=Q:A.9CQL3W%B]T77NP8YJR!/&9CC<Z@Q%CV)8@*$6*/HN1;$*^GG$H-&F6Y
M.\D1S!JZQ1PPQ"+WGH/QGV!*Q%C,^)+J_!K:BO%(-2"I1CR)4/9T#M:4![(E
MSV%7+5>P3O%"@CB/-?5<L$C". ; DJQ)7Q+&X;T78@,&I-RS5^]9G8*^:R>3
MZ12I!0TGS7*O# XA3SU6,07M#+IE;FZI[?L ?1?<6UQ=9.AN<.G:H]W>,B-C
MOKE5KWPKPKK-?3??8K&;0DV]0N'>QZ]PK[.-)EEV$:3I&UM1OP7IIB=UVAA
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
MU!22[P*V55GSY3KC9Y.__AMH%0 E[-,^$6>4S#^F'-6?,CF*[Y0S4UDE^A,
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
MEA%4D"!_ AJDQ&,>:]=[40:+OV#IWT7EF&\__RW@)TI!&O+L=J!*A WPMW7
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
M=9C2C&)WID;=I3:DN,-WV) ]:S5["#2K6!AY>R/QUJ5N"]9KN/7;*+W):KC
ML]OKX*E7PZ',:*P?A[]F\VB#]A6^I&HH Z&1K*.; (180"S$'>I7UCO<2NM8
M2D7AP5L$/ <XV]_""']A/!Z?CT>?1GE#Q1\MSQFEK8Z*S2;]1CUW?;OT!1<'
MRO(#EG[Q;W[0^CU_#A-OB+PAUWH&;M+\#^ZZ/R9GIR<GQ[F6>7N+]1TBA2>1
MM$)@_[+R7W]U ,3!RZ;XAT241 STCVU/GE"+>[W=__./D]G9Y/CT_/AD@OIU
M,IV>'14Z5R3!/"AWU KLO&WT8X47Y:!?68E?-TF H4_V"W2WB"\#?]U4C5F'
M?$[!_, !P3__-OG;* Y1=_U-N@S\;80$36V==ZF:B((D4B2Z[ C#N>?%EOL
M-GZPSSQ2,2,Q90J883NM8-L)3/<@@#X2SL$'!@I.I7)& L66,$-J-J!1F.Q8
M8&ID98S$_:)&@LPE9(;S4;<C,A7I!KK@:[Q^!D$-5/M%C(*(2[@,FN,^H,%&
M=BP!]JQ;U\V5=<4,A(A#P RFDP',E+D.;#] $T)F=T0KP"5VP [>+WV'##6U
MEH'(B\N;$>&TC_'Z9+W=.DC<Q%Z.O\N85PGE#<111-(,P;,^$)P[3N;,C?^#
M3O-@0D2OIJR!R/%*F:%VK@=J4P'4I@>!6KV4^3%_K =L,P'89F6!3I% $_-@
MJY<RAZUJGND.MDOTXR)X\G]Z+-!V)<V%C"%C#EC'-I=2%^_],++<_Q]NJ#O,
MNL+FPL86,T>N:H/I<*BE>U[F.$N+F8L63< <IXYM*'C<SP-@$<94\<]&X<(4
M+,>C8\,)SO7BWK_X'MFFM5_$*%RXA,NQJ5I+E&+S".PX0-),IL]/^.ZR!IO]
M(D9APR5<CDW'!HR\;]=O]HOEK0#!X%A7S$B,F +F.'5LIG@*+)PV[/%]_>R[
M-0"5_FX4,FS)<DBJ-@A=C<"_^2[:T5A!<@D1A,0-WEXYHW#EES"_M^[%6/$=
MN.Z_/72^>P16B)97YS8,8XIMEU#>0.A$),TA[,5P<1D'6!OI/6P:O3N*R8.N
MOGA9K+/I;#P=.H "@N;X]6+'N/4B@(6!K^#*BJRLVY2[LKKB!N(G(&B.7R_6
MC&1JO[0BL/(IQHQ2*0/18LN7@U0U9>BZCWE<6ZY[$8?02Q)>$9 ME3(06;9\
M.;*]>)-<KT&P0M/[Y\#_&;W@=RV61QZ&M:4-!(U?SAR\CJTFM_8RF,<.1.W,
MHPB$J7YO7&M5@QVYL%'0"8J9(]>Q327K(<&44OBK4=BPY,K!J!I.]%O=,EEN
M8+"^=<@8IG\W$46*9#F.0["V9-+DB>#)2.8E3,22*EON:5ZUK>B'9K;;>@&N
MR]K%% N5Y3Z?3L\';WIABI?#VH^]Q5^OLS?U27R><!%'(<Z8AK9;9*L+I9*!
M" J+FR-:M<#H.E O 8Z-[-YZ#GC[-R"/U;UR)H+-(6&.[Q#>_&26IAL8VI;[
M'V %Y%==I*)&H2PD9 [T$*P\N4YVDMV@W]19>@@EC8)91,8<Y:K%1W>4T]>)
M?#@7RAJ,-$O*'.LA/$*:([&<1+1Z0U+I[T9ARI8LQ[%J+M(/QU3Z^_C9A?:-
MZUODZ[!"F9+4)ZBYL_/AXLDG78XIR5WGOW[=#^/1)KA'\E(-RX-S1?@N='!
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
M\;>)\^F:_QWII,9?;=O:"!::Z_[I1ABE*XKK)@ 7?\5^EL*NK,-L40<<_^3
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
M:U3"'"/S()<9_+;]G/^T B>!<9%0.OS-<N-T&@C#>)W^3M"X*N,CVDQ7"EE
M/2>JTJ&AKTJ*&BO"4]38'-^O\CKHM6^XK/X94O_)@5)8@MX,RYE<A*)>3_,@
ML+Q5XG2+CD7UTP%'Z%V97SE,0G>A1*5G6.5[RRS4G.7>)M%.$CT([2QKHB9L
MVQS!7:-]!F-+8_>'<]=-DL<4?\6.R\93N>LLW18,\!8"U/E\? $6QL%9H*&$
M0XQA2X[G?/6](/\GOC3FVQ?*_Y!V\Y 8/THYOKM13C>1G;KG+EU9B7:^>?YS
M"((D .:MMXFC/9<Z7O9*_)2)_%6M'L6^M<JCD]4_H=H]L6IX SZM>1A2_-3(
MV?W%7Z;A])?H<UI<CQ?ZF:OA.OT%:TWEJ5K>WIV.3TZ$WXLQ4ZX(H%IGTFW4
MD':S1V,P]LRV\K0Q[$"&-:E'MD&'"I)?@<B"+M\\<32>CB<\:970;[??&MT6
MYXCL<]HF7"K>0I(K_3B>]>#$FL>22N99TI16*E2F]1&B]7'_E[LLM=88@]A"
M21JK;B]^+!=Q"#T0AG/[SQB&R;B9O\&0 #&AM#98"Z!6A5I$."+F&L"'?PP
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
M1P^ #F(VR3M>5#ZQ R;K2YY;#3ASSTE36(0XK@EP=BC46=L4?$&[ 2X(=O%
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
M8F,D$8AOO>\OT'XI>B!^B</H ESZ:_RHI3Y7!V]=LZC07G2E,<N%/;JHQ'C
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
M?K62J<(KM/I1]G; ')@^Z$ W0S7A2.#Z%SD-T-M@QKHZB8A#+^UH9%W5@+=
M#,"KKKPF+L2'XX762$2@<,*\"-V5Z"UKTX.W"Q4AA\G63$.414L;V"+2]IX9
MD>\>R7KIQO;(5QG*5K%IS8L:R1>J:4C'_G@$%5 +>\VZ_2G4(S;46TILKJ@8
ME0Q:PJ85NX45&*?]S,^X"O4TN(#WRP73I?V!V*V.>JV2!D+PX?&FG@0OA:]*
MAE$B/EW"DD6?+(PYII$5[::6ZJ'DQQ 0:1*=XM08E#B\-"Z-DMRRUQ6@IFH1
MES0;#^@H.(5'';6E=Q%>]4!=G0.I8D+%.E''.J!<%WAN+F@(4\M9*_%=Y=ZT
MH!UGV #2>.* :"%P-X^E4JR!#1:83).+0*VW\CU.T9[1E1)GO@JMA1,O[P-U
MHD"J4G/@"!/ N4#V];HJ[YN)64PII N4Z-/]7##.*BVWY\J3#Z#EGKZ_$BW5
M<9>JSTVRA#+84F_,6<I&R]35:-F1VN.!A3<F:,DWDBLXT6JI%0IVZDVTQ"-:
M8F1(2YS'L^L/VVF'+K;\!G)U'4$"34B +9$6E5:3L<1!C69,JEE:JE9#SS];
M1RY&I&8_WZ=<)8EP"-D1W$$_[Z5KT=KQ-BH=0=SYAE8'2! U IS&O@V^(0\N
M3L0,,LV(7'Y.NJ!7JN=(;K%GBE"2I(9C$?30!@&B[T'R0/ZH<U7R!;T31O)<
M2+5-AF"MTO:(8I!6A[>3TSS*DE-AW"8+$BN&&BUYJS39-<\8>0.)$'OA(@ '
M#AAYQS+=(\8D2<P*S;I HC,ABZ>G$F&UL9 8Z=?89N_SN)_-@39LW0H 8"(#
MLVNU?$=4!/<I?7S7RP%Z"1Q1=9_8G!,[U>P/<\:08RQ%;ZA>IE<?A=J!0"\Y
MKRT+J07T5;J!O;.*0TUI/ZZ_8?)&*CG"H[I$+'Q%MP6VK,TLITG:9:U3<"9/
M-4'D142IMWRH=DTW&@[E.*%^#U&5"QYO:0E!>"D:3/2O'G"]M1WP;%E?]O!5
M$6='/8UE,!=O%A$F,Z?>NQ1A>_3!3M&G=8HX?<U6C($\INE219:4[(1'>]U]
MO+R9,@T@N+X3W7) .<@K4IOITT*2,VJ<4\JC!-%Q+V[NO%(>3KI<IJM*P GG
MZ'H%?U__,^5^/U/4O)S6'P\*HZJ=7:;#<,TK7:_W6F\:/3:KW*H^I?&B6_$1
M3,ED^_L>9A<X!B,7+0>N:]!&A>(.']=17:UK%:!7&89?G3QP/&C9KF/)SR/S
M "QYML<W-;8?2,&LVJX/BN%<<?0YZW[LIUPBO0*?"=Q?_X2IK9]NE+6"DT]$
MJ:Z?84+HWV^N"A53F,**KBE1DC </;)-YWY?NE*8"]A_QOIUN^^(/KH65&OA
MIR@U^'-#\&A*+X<R:+C,>4$(?<N,DA;[*TI()R#1@A/Z 5NI$AK!U 2$8&KX
M2M+IOLIWEPLH\YL!@"CHN?T$004_RRIP$M%$P,'4;KY2V\\I//WQ]G$NF(3#
M7G^4X,N6MJZ*JK<>6D)2X;=1A<.CZCLUU6^_'IV>0W/]Y\?!]_S:#O!A.#\.
MS=V.],(#):+4I??K,1SP,,W--]O/V]_]V./H%1@<F>&FYUB1'H"V(426NYDC
MG\\QKC&C)XQ6RTXSF>2X.UR&P>B;9O.I&7]Q9C]:O"U!A8Y 7K!53] WW-87
M[9R$*A[/!8R@VNW4HN*O;EVH3T[YQMA](&+_%N7=I#%JW,<XE .U5@FC%7]4
M$&]=JC]4>6,Q8?!)Y>WT&IQC4:,V7;--K(%S)+- )S?.YD]0WG%A]FGE/91E
M4B':TQXM9)9F22J(^DAJWSBW/T-Y7XO=Z&64MVF+?"FEHR4-+YM"(=7LS^7%
M77F_@L%H3!A\4GDK=2)MZ!T_2_>'0T9?.C@^XV_=%OL$Y1T79I]6WKZMTK8#
M#)]&ENV:-1K)H&K=^E+]&<K[6NR^8!#^=;@Y^ @W)PZQG+?,HNQ84ZK$7,7[
M2/R5PU.*[>K_4R0[BI5+(_95+X^GB_C:B,!.,F>;)&J6T?*XW5QRI%'%LF8C
MA1>+MVY(/IOFC;'U-;5ZU]<_5;*:3GE*,$/)6:#UT\54=]&/OPUZUS_Q<VJ?
MZQ]BQ6:R.NJB*(MU6K*:G*/)7/S!%0_]\X'.ZR?J'\0S0;[FE#&M)##50A/)
ME*?:W?ZY)?T3%[_L@/XIUX;=V3P0T, (,OWEF"UW;M[S_BC]<S&VGE,GT UW
M4C+R8\768TG(MNS'?:IT#I9ZK OL*=]3+$== 8DS)>!$Q%J7#;5TP71SP;8^
M**J#>BQ2B%Z8 [JU: B.!KSHZ\LI.RXC&\N1[ ":795&O3EH!KH:N]@ Y,?/
M@_SX]BLJRGC"D NHM,MS<C/4PZS\,DK8W9:)K_T5%(/_>WC.PW</Z)(>;]T3
M[>TW7U^T*>^]<OU\D?'%; F7+(;2R$FA4:J559S)Q6Z1^4)"?8")'R;15UU\
M[^+\6G$>6W-PE95::IIS1UMU35JMU&W6DI,MO!^[R-E7$NJ#K+ROU#$1[89@
M"NL"ZEBLV18]R(]1.\AQY**:7GK3-M,<WYQX'B5JK 7U%:OO75!BL!I:UFJ\
MK*5[#-W7II*8G4O9XC1V0=BO*2NO6]2^HKA\5K0FDQR#Z90D9AJKU8)Q?S9:
M>43L5HC814#N$+R0A5)J].LK==+#4+_&)8N#9A6ISF(7%;B;"[</OL.K?C+O
MIH*>0W$H7K.R ==:#HT8EZ'=E^#+0?#I=MNX16VNEU\1=*F1J3*# <>DB[9%
M<7REU+DY4_>&#-S?*;^"G2_:V.\JVM?(K]A5CLZ.5:),&T:!&MD%>:$.8F=)
M?2&A_CWR*W=Q_LS\2KXD==OC2K*HU1A7)[7BL+-LQLX\_4I"_1OE5VY0M&.6
M7TGV*S-WYJ,Z%P2&O#0&_6FY?7/B>9LQXP\,F-P%Y0*KX0#G^Q5_FF?IP"D;
M2JI6P1?>S=FGMRDK'QO<B:.X?%:T)I5J>TZF$61HT,>&4B;;HY>5V*$^=A&0
M.P0O9*&DL%Q_RK:F =TOS";+*3:G4"1V%LK=7+A]\!U>]2<,33@H9Z]HO%U)
M+1I:J2JJL0LUWY?@#TSQ'6[W"JFW[D9<4!T@>I;C1F0/:7LLG/+6[7@"6E%G
MMI.EM$ R+:34ZNI:?%O\[9%K@Z9SZ'7!F,7%=_%]A?3A*^"]$ZU=:XRGOMCZ
M:G04&9"Z5G1"C..N0T4/C]K>O'4\=IZW>1S+:754=D67-J1VC:\-4O,8;U(_
M!.QCE'H_F,\A\2.NC]+X2T/Z%0VH/PK25#L_0ZUZ<Z[EG6D> R)H4;78UJ?=
M(?W5C1 DYZ6'U'A2Y0+4%52JKUFJ'EM__N*VPV^FY<Z"A-K*H8X] 46N-%@D
M04OH])K=FU)1GPJ).&N)!PLXY[NJ"5R77<_2?83(YJ04=W-\U'89'#E&M[D(
M^AB*IQ:4YL]M-UF(;]SEU#PW(#D\T2^M*=X!BZB]I_X$%-4VHHZ[9'')E1QY
M;H+.<+PLQW;Q. <4AZ9YA\1A2#0$TP^/BO,=U9P\048=5^3 :&,>JH(6X^?D
MWA1KWC0R3LSV#I## ,GYNO8$%^6.YHH8E0\XQ!"\T="IKI#23>/B^21_*SB$
M:?L',I6 -7$$6U'%;>I^?4(VWROQ/5\JUV@TZ*!,+]4LI*5*U4S'SJH,T^5'
MIP,YOI[/SU[ISN1G3.98WL]9O+Q"4TW4,+4:.>TPG24:._$^D\D<>V?R,R;7
MAGR]U%BL%+^0HX%5J96)LL^..[%S!<YD<FUX9_(S)N=8?I93B*:(\ HJU,U%
MJ:GVE<'B5M5U[FM+\M'<^)N]_2X]LXISJ59&V66YZ[<E4DO%N,HB?MY^'()
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
M="W.N2P5U]UM^=J0MVI,OS*5RSY=FV:')MY+NYX<.T?W*%<W,_E9&_Y^C"T
M636!%#GPFQ,L0L)L%)33$#Q14<W)WO? "=.$C!Q]N9,Y?_VC\-3^P[:56Z>T
M2)XZU&1/6.XVV9M650X,IRV:'>0XRFO(G?HRGGB\"/VW:?Q+,>#MAM%IS9FG
MWF=R/6U)N,OTN^C>A.@RY59UB8D+4R.]THQK<C6AA<?3 +B+YA<7H!,PS6::
M34[$5)W.^V* )+,YOQN_ZM [2]^RQ>#!3PV+93>E;AOM59W-%Z2J8F-N-FY-
MTHR6M=.#V!D.Y]=K/7BGSZ9ZA\8I:#0$%3[=#%OC;Y"QS!1=>0:?J 4IICGE
M,*6Q:,5.(;P>&<]F>@?&*6#0.A#A"BU&D;UUDG>&MZ165K(UTFK9K:%4S^/E
M+P",9S.] ^-H&3#KC\5-!CPZM"M2MRW'FD(2AN=V/;2V4KCLG W[^O?Q;)!/
M-WF4Z,<VP7)F.?"9D_\MX7-&AQ86..%&G2U$*AV/[%K=3I\6S#$W+S<'R)R+
MK3HYIS_*_@3O,#@&@^@*-.8%5=]6!PME;BPI05O#1_*R:906LV7WQK'P;):_
M)2#.6U8Z5B#HGOJ@&X9%3.!:]E+B\FQU@+E>MV -;GWY>#+)WQ(.[VGD96HY
ME.PO6Q3*+ =B6N85-#V*+2CBTE#K9J!QGJ:HF"Y\WJ.W*ANS9$-E&@'JCW&G
M4L_Z:$V*+2C.U!1/)GF'PU$X%'V@,P]F!%EJ&3F3J"-HK34O>EU3'V*YV%7L
MO!(,>U.\0^$H%+:5)KMNZ+C2K\U2'9G6U&+3S5(SLIGB;QT0!R9ZA\7Q7>[
M=H"H[IY2Z=99Q,:$5(5F57S83N<1ISN]X=CW)N_V=)YW4!P%12@ZC!QFD3Q6
M>-S$;M3%WM@M#G*T*G#3KAC8;3V^A\2<"8S#<_TMP7&&]Y'S]>VA)$.ZYY-$
MV5+16;9-!ZVQ9NJKFPY*/$[N2[/_S9TN3N1+Y^-!HQ]X5$UC\D5O.1Q-!TG]
MAE7#)^1+;[H)RO%\*:D./7Q">S17 JM1END5T\O>%T#&Q^5+OP0PGN=+Y4QE
M4*H%@J0%0U4O*:-D,5OX L#XN'SI30/C5?E2.Z/4<_ZXZ]&"RC/(,#"87GS/
MMKJ1?.GMP^=I7J293#-\IULLHWU&I8B2EYNP(+8F:<SR(K</AZ?!;Z>&,UE<
M:<\YT)&7;<:AC-'XUN'P4<'OVX?#?O"[@RPJW7YR6=?(8I_-%#*-5BIUZV#X
MF.#W[4/A4/ [B09#IM# &ZB1!'5G18HI[Y9=U@\/?M\^+ X$OSM+M#3OMT2$
M5NUR,K/ @V12O'54?&#P^_9!<23X#9JI%*;U')?&1X5"+>?UVFQ\:[#B&?R.
M SC0/7"@%SJ![^PX2$3F#I@#TP=-\+1AU(''/&N4D(>#L S@/+MWN_%N(.7&
M?+,7T,$<[2 -&\4+;FS3=Y]UH-_Y\9R#'+O* )ZWAWB!UU<35/1\046_F*!&
MCRDYENN&)VP\:^EV"0G%V&ZM)9-=E0,]0"S89HU26[&U,>(KH=$ GK'J+IH7
M%\VC'7X>LJI1SRU&CMK8[,N"91B6&7V=V\ _W^R5FB3!MCFCH-6P<K,V&^&Q
M#>8>G>(.%)[-\9+<_]#^UJ]B*+5AZ*BW6N1&I8[(&5Q'F99RA-%(?Q&&4C?)
M4.Q]$CI->ZGV,$/EM/YL@6"S2:Z"2;'U=>(DH=?O[/@F"9TK>)O+ WU.YY,.
MGU([:+8^CJW%$2<)O3!#4SR6A/Q$,Z]KDK<.8D;7*I&YH<Y!Z+6'3]H:E:1I
MDN,9GN= J=\#9"Y3ZM1CZ_:=UR5O'=(\->WK<!W-(&@*P9(7%V-BW9ESB^\2
ML":.8"NJ*.A[K=1R[*,T"ZY"F5+XGY 2<^B-;BORSFGEBHY(1^-G**/Y4VF:
M*@U2_KP:.UA$;32/4>6Q+UN.O8!Q?Y2>G]DNEKBZ9?=.'"T0G&PH?%5'F4(I
MT,NIW-A"8FOCQ9/)U[/V/EJK9!Q.&O93I0)7HM21W*DS3!&_:Y6X >[ZUN@[
M<:3HRW:C/6PUM<#V_2+=ZU8-]*Y58L%D/-(J>=]Q@"D&:T6R^<!S;('OM#,*
M-Q]C"LUPDVD!FAI8H14[WH4Z8'<.4.PWGW["2=R8HC_%DMJPP#-6OSKUZI4<
M![KDN#)*2A6J&TNU?(0E<!)?B"4Y*"5<RZL%%%,SZ%JE.NIX[4)C&+_S'$^P
M)'=S4H*]I+ARGM^?-SB4-K Z64$<M) !M\22ZRFNZQD,IQ57@??G*#:W2G3>
M%A6&EIUQLG=+:\GU%-=GL"147#8R277F*ZR/YEV4KRR-S$JF;HDEUU-<%V/)
M3LH[N0X/A2GO[=]G);S#UL!]:&PZ><NQ+6>WE.TA8NR/73#SX>3H.?S7LW3U
MD^\WOPZ820UCZVI98QA@5N5^F46'L;,ESDM2'R?2^SV_(]3=J1\Y1-ZKI8>)
M*#W\$+D\E1Y^<NM%*C<.P/C(@457 RZW+&CM49*H08NKF6:F"%[T*K%+7AT[
ME^@.U4^$ZGLUKKE< 7O>6C70FB<6%K6LP[!8["S+J^G,6P3$QBJ*QYK+)R7'
M<YW1@&9=C@U 6\AQ]=\'/S>DR/92-WM0?+>!?BDH-K+=*5$/A 8**@L$[]LK
MEF-BMP[&21E=D:D;KPO#+W0TX_YQCV:5Q31?9SVN%K;W6SJI7KH4.[UQH;,2
MSSNY\5WLQZX5FD+Y/-;F<7M9FM#"M)*K6N@BEW6N[E:_#OSH%?S;DQMSJ(7@
M2/O%+DW+A.^1+<<(][J.!1=()0>.8KL=IUOW1H+2S3 TV]<6U6 Q0;O+V(4G
MMMIM;X);')^>X=6LK#ALPGFQ ]71XK8.D  PA+$.6@Z0@>, *;KIJ?VU?=!:
MH>0MP[;,9ZG)@X_PR RO9@O)$A>8\_28DQ6Z,8R=,GU%K=QIDEW &CM%Z\=A
MO.KE[P5Y'/ILO0CRD]B,6J.;0*(%QU3-R5;OY:WN4-9,<Z3UV^14+.B40.#Q
M1^=I:!R>ZQT<1\$!UXZH=8REZY!>%?@:!YI*V^*<>K8K!5-JP1DU1RGF^CYJ
M$K&-W)X)D5,SO@/E*%#6==*[R]M@V=,9,PDO])MM<S[IKQ:+8FP-IS/1\6R:
M=T@<A00E29%[+>@M085.5EZP54_8MDEQ>Z-&QK6]'$JB^:'&EOOE?N?6E<?)
M*7]IJ!SSN.)@:.O902F]G( )FB=)9#0HE/%J/K8!JKNA'5MO\D60O\70KN",
ML>KWV*;&YE>SND&@(^7FU\D/-K1O'QPG#>UVE<EG^.$<:.R2F XGKEM6W%OW
MQ3[%T+Y]H#PWM%-:QVOC.BEK>%KHSON8-5B4;]V2^CA#^_8A<=K0QCEW69MJ
M8PY5M5ZNT2AT%5.[=7A\CJ$=!Z@\]<G"-%]',"?KE$;XJ:&:JN$;3^SG(KSJ
M@;HZ!Y!<'OR!"LU'RG6!Y^:"AC"UG/4FYV>+DF$##U 3!T1LV5HM5(HUL,$"
MDVER$:CU5K['*5KL;.HP$_A G&^_PH][U'F_J?P*LCY9^@[2]4O[B&= 5UA>
M'[KJN$O5YR990AELJ3?F+&6C\5LO#T%WESIWZ'X,=-$(NU@VPBZZJ:[(7JQ^
MZRW8WG:$Z@ ]>F18V;D%]ZPZ)YVNF7<X9D$4!'O4'\AT;+W)SZOL>A/X3Q#^
M6NC'L@B&GH?^]:T713^^!C\9@A_G\>SZPQ:'85<-^0WX[3J"%!7;;$&[J+2:
MC"4.:C1C4LW24K4:>CZVH'WEM!_A\W3>5\,,B:#XF9B);L6S[\?,P>V*:TIL
MI&;G=*\^F]_JJURM+=8'*UEC%)-8Y:;&@,!BQ_KUZOMT+ALU]3"92_+SP[8O
MOLPBPL-J)5EP<AR2FQ: OJHTP"R6IOZGL>AZ6^,?@\=PR0%2"TIR /6(Z0IB
MM +E@MUOSC(]>ED\3R\*NJ4% 5++,Q-;QZ38V;^/D>1S)_Y9);S7[ZUW0>;7
M^&FV2L\K/,=DYUAMUF7SF65L0\GQ9_Z%)9_D"70M^'G;U9B*.9&XTIQ<!$JK
M3Y:O?^KE:Y&/D@B!7FKR!(]OMB1DW;+!3MC<@LO/W F_&M#M+'EUE+YN\@2"
M$@A^@<K]<ZLN#A0OMTY5+O>0OCY)!:.R-BL6NK-J3RWVT['5\X<JET]-[XN&
M&UX-@9?JUQ$+7]%M@84HL)PF:9>U3L&)K<*/4_UZ'(#PBHT,)W5!7[,58R"/
M:;I4D24E.^'17O>F4/ INN!3$SX9'DK^-OKR^"%B=D@<1FXID!([/AL+X(.D
MZ.JVRN[PGOC]75WYCI0:#HM9@_9E8])1%'5>!['SP2,4/)WW]H3+IQ-_>X#P
MV'[YJ^T&>QJYR2 X?F;D9O?63P%<475<[]5X<RR6*FM#84ZSJ919;Q?[V4[\
M @JG\/9TWG>XO0%NJ75P.3I^);5)K*#G(<C"6CCFK[P>!YCF!!EW^UAR%3O3
M]G-YBX:MI<\+ D>W?J0=6U!=VW(%O>18OAU%RM>M++?9LX?ZE_7DX>WA6U33
M!Q(#1[-.OCS)I%7"Q"1XJ!_)"7IH*[ * !YE2H\%(^'#=,OU'>#F@KV!A(?*
MZ+ZDFI/#+WQ$8P,L5=':'*%< '.@6W;XTLV0V(&8$BJE8I7#)[WTRIHOTQDF
M=O#<6ELO,&.GV<'+W'A_8NYCV+B1Q--\_"T]BR\NFJ,5&A!*MTEP0"W0Q>)R
M7J35V-FZ=]'\+-&,H\=WEDDT:N,K6Z\5:*XVPVTUUW*E9/QJQ']C<W>M=[$]
MD^A*;5JP&DZ6.J66RY%%$60+>*Y+3F*GY.+>IF4/.N<OV4][NESA-+Q=S5NW
M#BS.+0?8@BK12QL2&WJNIL1X"G#6#4R]=9W*!BO5@9)9""I-TS5G6*%'#&HU
MFK&U58_-?&]3VIE3CWLZ^$%SD.O*J_5!I8\?W%9#2J.]@L_EJ]9,R)CCUG@4
MAPX_>PLJ&N8('PN,3BVH3V[]O)IYC1Z;56Y5G])XT:WX"*9DLOW8R<2;B]N_
M@OORVEKR:8G&W4RI6M7Z\UFFWP6=)A._[>9O+OJ^198^:UEV5DWUT8.72WHJ
MF2&()*;-RFTN+654(B_&SN@YK_+YU8<=OV_)NGP?-G(GR+"M:<$V.0-!=7J"
M[H,"\(!CJ.'^X+6!]\CDD@]IK$,"M?PQG&>X"TPP-V;@D]C"^T[I?G1F-X_9
M.-*[ 07!]&5!]'P'#I0SU0?+J6WVF\.1@PD<'N2H3,XJ 3R(G<>USE><I/GV
M@.L7B?[^$,)GG?%]DL_;B,,11E\SUD">'6O8J[2ZP#KZ3@F-XC<^?&YT2E51
MMQ8QD\[YHE++YJ=HEA-6J7F)R99J6B.>2<:SI/,TP>^2^74D\TB _I*+9Y7+
M2O-%P2APM6+6D^Q6L3:NW[!PO&/INNF \7NA\H(69[,Z6AC*E2)=&BG);*[3
M0_!%[$SJJ^O0KP 1= \BZ!<SQ1OE,CT?=!21*^6'O6Y0FY>-2NR\^[LI'ML%
M'SU?1-'8B6CL;7$<:UN5!N]86BGK\KE9$E&#U>^WCMQ%\U9%\U@=V^>)U+"]
MK)'RH*W2,UPJNT4A7QC%+YY]!_0!0,<A??)BP['CD&2!,U?%A]X-Y(0Q27Q<
MTK@@U_2H.M.<*/$]6?T<0.Q/\$M[!>^"070E:O3YT&INKN,=LJ174%(8:YY$
M.#W3OG$L/)OE'1"O7*K*S=9JEFS3&HHKJT&?])*V';\\2:R7C!N'1L[7M\U*
MB512FXV!O$ %KI9F>S1&8+F;5A&/D_O2['_JG5Y",Z0K4K%%!-D25TOF9X7%
M;.$/9[$U8F.I&>+H'44EK5MBE8 U<01;445!W^DN%/;HH$R)!0O@"!/PO%$)
M<,<RAO6J'IVO"P%/$I39CM\FP:B&]=A4M\V'7IKKE_8TW@ .Q@3;)DX;,&3;
ME85;Z%4':#Z).VZ5M%@E?N<=GP.&9W/[TLQ_:C-<1#,0YB*IT.4YP]5FV4&P
M&K!S:G238/@\S1 'B^(-X'BN&72QVJ\6,;F$YM&.9E .QZ39FUPF/DXS?"[S
MT</K F+1^ESTNCB-JWG!Q54N-VG&H>73$Z5Z;C?6*RC5] [EL@^-PIKNJ($9
M3IOF0$Z8LA5@2ZWK;_9YPVJ4/IMP:/:R%37)'<(]=EBK]2ML;9%K+C6R:$E
M):4^;UW=^W@#X9+G$^XZI4@1X8@'4>V-D+*-]1JB%G1)6Q=0TZXWX]":[NWV
M#TI<1\L]7>,6;38KJIKI<4"M)3DF#ZH,%3MAQ<[7<I=?(-([E,L^%*9B7GVB
M-G1NB.+]89;)Y/IJCH^=L&+G:SGL6EKN247O>*:HHQDRPFACP<_*/<4KI1IQ
M)-RY6NZZ!9?$8WS3IVDDU4-'6K_013I(6D/0ZP<@KFK+74C+'=V7^L5[1ZA#
M;-IBU&E9(\=JQ\8:JI$9QS9<>>\=\0&](SZT#?07%R]:I85J:PHJG)&=508"
MGRG:9FQ30W?Q^ECQNEBC[=UN*YF'S-;CAY$\5NH=>II!2QE2(=VAO!PYL3.8
MT*@_2>:\O,_>K3%?]\5QIKP0DF-3\YU5$T6G(\VZOG,9:RWP.ZU+N<[ )KN.
M9M+J"CB<Z,Y2LGQG?YSTY@LUL0^+T-$3WY\?8=MANGZEA>155%@I,AX8^:7,
MQRZE\XH3VC_N^-HXIOG.A\+ID^QY:CJN3L4>2Z+,C. S52U9RS*WC(O3\_VB
M&9_W@N2YOI!;8X*8H83(,91=&F,,1PW%V'KBL=(7<81":CDBY\QDPG,S(YF9
M]#"UQ%5C9W)_!N6.FMRO+]2WE_59TQUZ-H=D5XJX'&1EPXN_+OV40OT/,)]?
MR<KGQ?9!HY+M5KO(4".#ODMWJ()2CF^X) ;%]G%CZM&RV,6RTG0KL]Q RZ^$
M;GUB=,L3++8^4%S*8N/&WIVB]Z46^.,"[NB:@>GS1IM6W$8M_N;*AQ>]?VC4
MXO4K:,'TZZFEZN!T26IF1"6-2KW>3;/Q0U;0:QV.^N[M:A[2+_F99$"A_9S8
M[35=GINN;MPB^J@5-!9,/;J"YC-H7RD22!&=I9B1SB!8=SFY:4G]X!4T%NS=
M64$UFE$[DRPM<<:0T I*KTN \DTS].HKZ(<%?O/CS'18F/.<5L)1RN [*9U)
MQ[!R]_/CI&\/F;\0)\7%B9A!IAF1R\])%_1*]1S)Q=]CB%V<- 9MD'$^XSN@
MA#O5%BKT^J@^')5:W>MO:8B+>:XSXH(2F6*1$W)H<LJ.V-F<B4.%[*54JP\7
M[VCJX2H>BKXI"8[$<VR!SU(+(:.4I*I&.BC158L6/5 >5SD#"&'EQB_5M9(X
MEOX)?[)]Q_:K[>?P)2^\<"+H/&?34\JTN@5-Y;J9Q52EI<Q\\>R%ON?\A+>_
MXV4VO)^?V<!3%T$QH$%6029H=5:J@LFSMVV("/]\_0L+ZARR-2*FJP@.</DR
MX562LSH]Y4H4UM5=L[NLF8]3E*(?[#ZLZ1MA8M9RWDCV9[\/+Q: :1FJ>>BQ
M&U43C?;4<_<>\6-_].<SHC%H\LU:!TDU"H&/UM(3/ITN5M4"]9SKV_G"G[R#
M\^)F3Q-?X7D?5YJ])<UR2(U2\A(^E9YS/S*.MC]ZQWLW[&?2F.PL^HTZ9PP,
M2W4+C%8UCF'N92:\\%)%X O=%5N=SUM36EUUZ[U)/SEM(NV#(J4([YG?>HWC
MK6HVE\W,9(MF)G/!2&=*)9UY_KZ(K)O?G'[K#W7Y$U+!\AT1N.N/"A"D2$M"
MO/WZ!_XKX7J!#I6M(2R1A2IYRD\,1?_G;UN0P@(R1 >R!Z]\)U*/UQQUHCQ>
MM-9-H."+=&@AS<'?WYX\UYFH)N)9]D\<^T[:WM\0^8@"HF<DL>_I%+RT\V+X
M:WO[6QFJ6T06#%4/?OZW"ZT/-]$$BT3',@3SOW^MK\#_NE!)R__].[K;55<
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
M[<]S%:OI2)6<OMP=AJ*/J0"CP;_@M^YAUZ))2[8L N^-*(ME2]!7MR@M-&D
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
MO18!VOZYO(VI789.F0&]DVUB-.72:C(=7G',V(+=$_9+B 0(5NHUFV5Y_*"
MQQ79X,YN<B'3\OTT^<UW*;AN@@=^EC4J^(V"\FN=[Y3 /Z]AG[*]/#7Q1;U^
MM&#VND8B!Q<CLS,XZMR[YKIUM#0'*34<>G=7G#XJM=#).4TNX_U)SXN)K"@]
MC@F9-$^G#64)AP=+IC!7ZL/&C?,/3@M7T#X8H==/Y&Z.W!AD@=QX*9MPI6.X
MTX/K,N+14]T4W4E&/7P:@?1!,(QL[?#?'T2X#FX$IE'B_*'%[)'(%"K="3@O
M6U1]A>4  HFJ;U>_;:6-9G8?FFL0N,@R;08RB7JB3(\J-@E=!*B/.M./>5W,
M10!^I[)3W1)3^RG/7O]NBX=<I%G4A97="376!PJ[T_H0;@%[! L;M0X]HU]G
M\O4]D"U]2BIC9^LDUW+\&=70=3!HK"-@1=9#@]X]86,:K&S2-;>G:TS=VUV3
M-<*SLC.\5ZYF+43T#I>\CM!J/D_U:9UG_ X<MA&-=F@,.?+=2/GOUZA3M]1A
M;F;=5Z?5^ 8^CV%X*4U;VD''*E-UWTXY5KN&-W7-\:<K+>EQ9'CI4E!U#F#+
M?K\JIHK+VL%IA%\@"LU2[O-33*=)9MWGRTPNMM) Z RM283A;HS"X[ A(86B
M4<$M6.2V<G[J@,6<LLW4O#DR.S#T)W,:'7' 7\K-VYO"%I2WQ((&-TTM->FU
M3*"?=)Q0#5RXCQ Y_6QT/D0@$J?70*?>_9W0JQEIE^8/!(SM$Q O385EDU0U
MR:_NG!G!BIA(5@^=K1,[W"@E81E<WA3)M,9Q^A-A$ 25DR:\_^PN198(1%,
M^J5"P^/CHQ:,9MN?G==!*!BR!?8IG8(":A*TI&F21@Y4]^F-1&,MU92>9KSS
MJ)T>A>[=W8*.FO:%/!6'?1]N]'*A2\G)EG79/P4==5DT]62.KB9NKX!A:ZM&
MC6I#54=E%H:BA>!<*!,/V7-IW4RX&PU=OQW2QMJ]W=KUZ07O:/(>LL5[<#]P
MTL5-CY,:!!Q!-URZW5!C_<,H6U$FG]92Z9/;*#W&7/SQ)A>_R<6O=BY^/;J3
MF5G[6M$$IZE&SIJ-E9?:7])X3BA;1AC\PR@>!J2S3-->V8(%',JQ3].'K3UX
MO,;_C>;%B74)U]RTN' =Y-"T^-+.P(-W[;+Q[C_/W_TCFLZ>7GIA[R4MR"91
MR:@<W3S+5)W>I?F71*RI)Y<9@YMD45O!>:ZUA?Y>NPN8[9CU.?W **PMT^SO
M#7:)J\4+J#OIZL9OK6;1^$V#:Z+N/+Z_<<=%;/T([G'W/9C#B28_"/XP&;,3
MK(R18M(38;^7XA(M0+JJV)"6R0L7::ZAFC*[*OUHF/V][:&U2+'=8YW60M]H
M1W"GS>.904P(!PW6FNW(&M,QU\A#+8\UWY:&%QH-82G$-%N E>=W]N)R7CND
M]@)70NN(W &F)0 7A$[!(\6B/79,X1CC,YS"&%/G1I=S%2Y[Z2CX"VQ8##3J
M1@A(\XI%;5B8&7-<#-]Q#;W)M^WPL(,9OF?W/*)@XQ/"E&VZ '.L&,@;!:,B
M;_#J)<>$4\04YS&!$/SA+%IH;;EGSF*NZB[CF!7Z]=NX.W<J- W#-IT*O0N<
MEZ>OUZ:]8K\15BP5BP";XH")6V1LU?X3JS/_A/5\OOB@;HG&K^V&TI7NU!I4
MI.0[07^'SNA95")_0FC6N@<3<[BS[?$'&28BETC[=AP,3M!>8*%)K%26P-82
M?S<S"C]O]SY96Y?^B,+&L&0:&GSC(V^&&[_'$1^-**H,O ).ZXPP* Y&A-($
MDCTBR 7\4J->B!O)$\!>SB/-);.0T1WN(\E]1'D_A 0?V_;W?4 )%AQVII0B
M'[^#31'V^[GU5&CDM=4<=DD9F>2J8EQ[7_MV094'2S3$6RLK1B)T8X3A]A8U
MQ=$IF66:P@7/)0Y'[1$EYG:[?/YZ0%?%6//);#839> 4MNJ"I\)L&6@69'T3
M88+;2@\K815*+FG2".'"(9/C(UQP3)HL+XCDP#E#@$EC$I&+96E_9_F4/NL
M?G]"?)^N-ASQNY"(WUL#25C/4,U;/@^Z'[P+;D%-Z!6&(S</9J-]S($F')3\
MJ#&@S3B>@=%470Z.>5%F"=_S7C@6N6+\^"RU'QYG39JXD5C$SDA.U125!_1,
M/?.?TH$:F!G]S/I!0!$5&)HZ]8,_',-G$_O&.H:36(RQ-S2V[S"-A]GDC>!'
MTW0+3N-4T?*9\#%/KU0:?41CZ1I@;UAX\C@MB0VF<I:,>AXKFV5B8UI;XL(>
M(A@/3=HUQE&=$+6']PGB"5)E1!E&",;&TB*HS);]5JFFH.8P^U_-I),%IO#$
MF"ROHCR-S=U,U-AQU! Y9Y-)8P5B-#%Q]*8<1TC5\PKD$V,=7>"MLSE5=]GK
M28/Q#%A><KS]H!?8 [Y,=W]>>/N,5%FRU!84YDZ85AAWLB"6<#C,Q\?&Z  '
M"%8#^Y/1;@JMUE_*X'0XJ*2=DKQ 8%2.F3@6+'=F<B4Z?T=10)(@X@!BDB0\
M.&VA\V?;C<)-%DD9-=AB%(7D:J%GTWJ2RUTOUR7\GA"_,LVQ,FQ^[ OD>L12
M$2'; K$@1$6&>T1D+_I>97(E\W62-:]+8SLAP_+-YV-,R5[X]XSP3&!Q6 'M
M:XY3U=1$X#_F4M=UW=[.Y\DO1<GRC5]$XZ-*2SJV=E^OT.B%54U(A^KQ?F,]
M@FO]$YR=G$CI00G^S)N1<C_1F'-MH8;Y"=0LGF!*1K0B&9VH:*@C$,'^'(3>
M=WAAWR& @^JC+0X.@+ NY(S7-]Q80I2JSVD/4H[;2C%4R'5,I#%"EBJ*-Q,5
M@#^!E+42L4+9@#U!,RV$WFHA?4GI>)3I2?$;F&_7V-CQ,:(%AML;N, &+K#:
M<(&YXLH3$B7J^\&=I184E(=YIE,8RYS:6.A5F#21^<#E\*I*6DEA*)GZ/\%
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
M:_Q+DTRRDILSX?*/$$Y&>U!3LKVD\N9<E-:DF9+K"H./5<FI5;?-AW0CEU#
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
MQNARLEO!A+(6W*N3R^<G_Q/\RGVK+HGC/G@9E1]435<\WQ[Z(5/Z ]H>VHA
M2"+&(9%R RL&2\+65<Q@/:LG2"'P[R9-- *17,RL4Z+)71=415:'Z 9Y&"*,
MTBSCW-E"8Y!0T*2-56<E)9I]E6))&\>TWV+)@?< ['[4F@ R"X#E@Y5XAMG7
M0MZT'28 (XMXX+)2FJL#?D!L@*T](VLM-]61@^ Y!V/)#A&[Q,J&7NXT[[P<
MFK)F0H9LWIQ/>HYQI[@U&-<[EU<P'WY$_ZJ954=>(KJ=A,N:N )"B=-3:PF$
M:M96O?<,1G7.E'LU- _X4H^M;:B0$,&\A[O)T=%[M9/LOM\[&*OWT2@>OA\>
MC7;5:'=_6^T,A9V(?W'^]NSE\-D?K]Z<75[\_N?9\\NW)R]>G%Z\?'GVZNTE
M_.QP;T^^S\3N.J9#IV.+P"2S2CW1_V$C,_"KNH3_28S>PQ8:X$7).M"2U,6L
MCV6,8P;[>Y;L3*_30RKG'LHU3;%V&^,#+%HP?&;OC%_JQ'W5E9RTW>. -CG0
MN^R_Q2^X:[_09F^R(:^*7'T=6^QS#OUN'(V.Q[M'[Y.#@_WW>[OQ^/WQCAJ^
M/]P^B@_4WG [WM[N'/J=UV\N7I^]>7M^=OE^=V_W:'=SS'N/^<[C.N5V5[_X
ML5Z1,WR/!CF^0_G:M'5:3]O__Z0]N0#$1*0Q8N=&*@,W%WZ7947PCO"_[[#D
M[/_\DJ[A8KU3R*KOE-MQ[</25=(U*JD-[(O9>DG\%2\1//<,ZVFH\9KDT<GW
MH4*.X4YX--P)*FQ(2^U>R+T8-6E&*74P<N?4@9J!V8A11&QS44V+*JUL2QX,
M8'"/1V$=0;Z.JQ+K+;"<";0QNCLP\NY@&TQF,,&QSV0$+X,)2VQ5%BW0C9O
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
M7D60=]6SG;HOX?2P-S2G'I5VV\STU"QK/5KLG;G$7,%%8Z\]S&1F17.,.!+
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
M;RW6;JEAMV'2PSB 8=[YX96/"\$AO5FR51SW2VJ]-H2PN1HV=/",Z:#T:LC
MZUFEK5\_\8HYP17X@U/X666Z5FH]?UI2;)NMH+7K;K4I@B!@4?R+.A&KR+<X
M''VZTO:UKMZJZ(I5(("9K_?7\=)%Y%0=PJ6TBV3OI5M]AKI?U@2Q>&_FP&@A
M8TQ/G',O#/''N1\[8^]FK<#8>"^L\QB%OA<C6UWD#KZ!'_D>A=!+D[3K3<,8
MPASU5K[8^?___^Y$3=:RA+#JQ.KG_A87B7L3^/(O7GCMW22J!TVOTOC9X)K*
MK' ?'&"-1NMGQ_K9D)<U'82KL[8L@U@GKV5!Z]0O;RE6MQ@0-)YVE@>;M4JG
M]9W.RI):)+DLL>4Y%[$_^=^?_G5RN%U:T(X_ V_&4R_,I,O+KW[ZOQ,"!@2&
M0?1_GXHMA%"]NQ!K=JL+.VA+J1KE['\/"KX%XG(!M+9 ($?"<8S]-/&=B3="
M/@W@DP7@RGHG USI.Z>S /\T6,!PWX \Z<,LI]YB-09E@K"D(YB6@$_FD":=
M[P@R^3U@73>XDQM@C WNY(]P$!NLF'4YB0U\TIH<Q 9W<EU.8L,2ZW(0&]S)
M=3F)#4NLQT%L%*=U.8D-2ZS)06Q88H,[>4=_M'QE@SNYP9V\EXCF!G=R@SOY
M1/+W-DA2&^2PASOO)R[3'ALY;$-;&]S)S8EO;H_->3_%\W[LV^-IEI=G\F(V
M5>4_++A5_8>#-%NGLO$G1@RM^OT7R#PV.?SX>)3?053_V.?VXPCO#8K#AA@L
MX=W>E+"L<0F+R1%_*L4L#Y1[OMIZRX(M#^]S9D]D@S[ZSH5WY3M#WY\Y$4=!
M9^=44C!,$[!/$Z"DF?,VQAH(V3#X]<AW:KU.@RHCS/OXPKD3^R F$]^)DBDP
M4N(L_-'%#'CM_,8!UAA%,Y2B3N)[4F81.?.(\_WY%VKX;H]K)K+'Q)_SG#"8
MDFHR\Q9I[(4.&,;SD,HA)K&?7/!8%4>M#P;P/X]"F"'\(PS TL=JCCB:4MU%
M[A/GF"$PHS(*G%T<C7 ;LK.D=_4B<!]@(-@;/PSI7^,@6<3!,%WX\ =O(6\-
M;YQY,/?1\,>A\=L#V*Z9\SZ D5]3?0:^_1$8VGGMW6"5"5=RV"> ^P(;JY;A
M?YX',6Q%,'/^Z\U2+Q9_1+U:Z\(I4BT(3&>4)@D_M<A4HF 0_!P$/>P95;0
M :2^+/PJ&*L%@\C$TX)7X5]3FM/"FD7%P<J9#)U$.JB.PP(I+.AXD+:HT&5V
MLQ5=8X6+WL8\Z8S]!&AW1H.HXAJXHV"3LG.#R7IS^-5G$H) !AVWUZK"< LO
M".&_$G@4UN7QT<#'IWX\PG_"O&;^B.=X'<!Z9D!:UO'+XL9T#G+*L>];C]RV
MA,RLA4B':7AI9HY;^K&_S1NHJ2.Y21;^M,![3*(P;_S*U]*/[ (="?TQNWEP
M;>(UXM.?LE2/TUOWVJ&'JQ/[*HERC><!2AF0=0B;G8PN_'$: @D!*3 G$R.G
MH>'B*G$QO@B3\H$/D=Y@0"#@!2T+Q,KJC\*(I*S8;(UO .]3,1O2OH.**+*"
M#(O/SOSS"/AFX6<9WX,_7.M%@_3P??P,RVN@^P6P 3I3<4$QRDZ:=X)<3&+#
M+\BN*">[&C770?E%$MP62BQ4_')QA-=&KZH&=V6I*.3D:E%5<L)V(>PBRX2_
M4P\)RTGF_BB8!$9.V@/2DR@B1B/830^O*=HXE&@TGV0!3]#].7$"8*W0!Q7,
MB89 1BP(7:XJI + BPC%A/D;%@-*+6#IMQ,E4('>9M$"OZR_AT_35K*HE,TH
M['YA-^<>4TX<W7@A+#_V_T[I/,SVVI,P]RG=]\$,ICN%I\=IK+0&D;EJUHJ
M:(%T$:XFU,3W+^EX8.*+.!W!Y9ZC/?R(&IW$-8PTH[G"X*,H#8$Y@&OA$$<@
M>4-<TS@=\2!&P0$=(YKR@8X\4!<P'S#!"Y!6!_?: GAT1!QZ[L^(Y,;,W<5%
MLN1>M7!60<(DDGV#RX^J1H5OYUZ2>.=43DM\Y9\'2<@G*8H%*O@@AH/D@G9)
MLZ"Z<\Y3>#Z*X6J)QC>*?+*[7(&; @14"O2%Y@#K YI8X*8"Z4^JS,+9.]E]
M[W0JSOO^0?_M[OO=@Q,4L[7.KP-G9V^P?3H8[!T>./V#'?C__OZ?@[V!<_C&
M>;-WT#_8WNOO.]N'!SM[)^J9X]W!Z?X)/7)XM'O<QS\,G"WG/<X=+^%MN(\#
MJK0%_MC]/ <)%^"Y)[3Z;2)7.(01"JHMYW^";'P%?_XE6 #[CHQ._Y'VY9B/
M9)^/Y'_^$_S?#V@"W=W>0>&L <>?H[&S_7%+UB^EU'ZI5K^XCKY()>5K[V,
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
M9P^FP?5C3Z\:&.FP6Z,)JM506I^*<%JU J+CF<WB/H89W((&C[1,A)9O%CG
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
M;YH.:TP0$#V$U= OLMEV8SB 0)H;V%IZ"3,_0_F[5$%=1NE3!@VW#).19,O
M];Y -FN"7MAHKG:Z=ZMNNU$U=_=&DNDL8U,QOTP'L9J;2)]YA+BBMG"<[B&=
M&1R?<%N#D>DPKWILPV@,<XM)2&$P#9@=7<7]^+78N];X?(D$J%Q'S(6+5%)*
M898C,B0I]V2!3A8G](91+#@]TKT>ELY%^OB/=,8P@"B @(YN-.@,0EJEL8&!
MEC:R%%O)3(> N13,-2=-E2V6-HIR.O4-;3C?X018F0'=W%E-S?\<)-KBA9>4
M(+=R%TF@K]KN$35;T5+NI5V-C#!B 35;?)5+I<R]A9J(/F@1NKA=HD#>A68>
M1K39GC;J*_Z@_'7W9N>F??SVX<'.WLG>X<$S;%BNHEUV.E^V\U V*:X _"%5
M>DYRX?L+@4Q?TCP^=P>4-XT']I ,1^D%+IJRI%&2H:3A/[$1QI47XN1T1DJB
M2O+A*Z%T--5-=O8^G.[!6?_I] ]VG.W^T=X)G/_Q[N#P]'A[=Z"KS(W:@XT\
M](68F+9,""YAOB-;9:!3$-3\//;F%QN'6-$AMBVRTG06RB0JYG,N*G4#R5RH
MS,T:9UG9K<?GKBWX-^GH[8& _!3%TMS61+'X$%$V%P-A S'BLM_("EJ#\VMN
M';JCZ8+QQZZE2!/RM%R(L4\XE:@J!ZKV U,*HC2Q=VGA3Y,BIEWR&.[7_)D>
M47*-!?9K,('5U2@ >ZO/NK;BK,=7)&GFW@W#C8CI$$NY/#<C06QE/S8='T9B
M+.==XB9^.HQF!A^PZ!Z?/S#08X%;(HUK>NO^U2M-O7_E'$(HJO#N6TQ>UL"I
MV4:#0N&-7H&^#6SA8VZ'F2TK<AQ"7TU7U?R^9%>M/#F4 <:E4KI?.5$,D'?H
MF3:&&*S_B&7TK[V;$C#:IQGJ;FY"W9M0]QJ'NO.BH*] (^!&P.6Y'-WR2V\A
M&]-UE:AH5=IW5C>2=&@N("M/^HO"KY;$+=4IY/YY5(G+"UBZA2^ZE<:*3<MN
M<,>2Q9B2A3]BNQ?5WW!)9+30\#"SR1E%KGRC*Z(!DE+&?5#-818S=FO6DNQI
MRAWZW0WL6W7]5;;M+7;.\[1SMZ6WF6H&K&*$8%6JC.^A-[LT6#22S9G]9:!J
M6.G?F-ZK^C$RC ]2T97I/4E-;>"?KW$0^!T:V_*UC66HO ^B<>TEW*QM'/G<
M_H^-*(13YLS&&P.7E&EW6"'\2=6WV44$?_2=7?O<GTNZ9:+?C:(.KRC<(51
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
M?T7EQ>&5:%JD*G,%.JBJ80CJ!$FZ)!U^XBO65>V20O^S\RD=GPO'TZ[K18F
M6'(,X\AG7<8+T4-$>@/V][BQN5]=[N5"?^%=(FH + /1D$*?Y;PH)C"TB]+-
MFH](LB43(E*P._<F/C8)7_AJ,HF:S9(!4'#-;'%</)Q(M=R\\&_D,)^CKR$[
MJ17]<6A!8P0 )'+*A0GS?T6DBE](]<2?"G_FD<EI")_=O=(!9>R7'D5C0J-3
M:N?[#%3%L59/T29]L)8\)==29GO62N3VR_V$;LEV&FT?.',AVOFY.@+E<L8F
MMR]J;J_;<NNUVN.IVFNUR^^ULJ8[%NJ-L[I^L5I-/Y93=/8(U 606$+>T@O)
MZIT2Q!M+^<2W?\4V;A1?@[J[%4;1I8(CP=_[-CK%13 Q "L^?M)"?B,DH9$W
M]RO.-KE(U).YKX$:6VADYDM_$QY9X3AFE538&]-!C4#ELIM0<=ZB^<C^!$MC
MUA=<B<9,QH9HU*5?6;WOKFV5/,44#Y4JOTGQV*1X?'F*Q\.(3-;2LFX',6Z5
MAUW9H,IW-"U*66,WDV2SY)&*^2E%.XK]D9=P'$QP;PU*DXJ1:5, C@EV'436
MN3@)/:ZZT6*'OS>S,,BHTRO9(#YVNE]L/,;*Y%-N4G58XZ^0R2C@T;=_H^P%
MU.!1G?>MD+$S]1<7T=@5?3Y&/X=@&"<^7");&,JD-V.XBY#XZ%:5L$"!'&"<
M**9K4T$:<X":?_8_8RPC0$I"U*@P@N<XWNG(/1?*\N#V3H"PY&)2D^<ID/G*
M-IHU17MF9+-RH(=68N#RA ;!Z@GFW/.3Z5I/7V*L#FC;LVB*H2!"(Z-[78,W
M)ZZ@_LZ28,RM>#/H?NB,GU%7,K# .5(U-E%D,O[0'CL/?+$UU<D(")_2=&#"
M(QV%@<-ECY5\SI &(GB1@2K;C*\K$%HOYK62D<Q-;N$U33\@'L(;A"K<<%Z.
M\\A-^4WLITZ1R'-)]+_ H^=I@"T<9[X*1:K6U<RGV2 *WW.%V276O.^D-'.S
M2TIBX,](!^SI5/6PUE^ROY)7&95GU=HG]?F\@GHB\6#1T'EX!$OG:"1?0O:$
M[K29Q/?=ZL^VS%@B\"3K0S]ZV[X_0^?&7<(C\QB./[YQRE03BB64*"!E9IYO
MG!CJI*>KS3R)'["B$L+!8AG#FDNQ->T@4K+4.S85L9I]_%0H1/FF=?RX'4<^
M^A)?IIA6+L),N)RBTH_%!8 F_-WBP D'@DMX3F")5WM87&$KR9WD$6&S)%;]
MRZ,V*M'V.J$EY<Y-:%Q#%CUO?B34L%OX<3L"N0JT BOY+KP7K1G7E;@;+=<B
MZNP1VJ(49XJ#\W.?;ATT+\C/-U9Q%_.88:''[>"C&:-3WS#&AC'N@S%REX7%
M*&+V\M60I#%Y1,5V :7_;ZQF7'C<?!L>A7\#LZA?Z&&2)]GSZ@=EBHWV]K7:
M6U$AZP^VG4:K:J*PMIXEKA:P**>1&-AS9=2@UVP819=+['4%^S^/,93/,:A5
MR=/BS1,K*1'NU QM65LJBZMH)D=@#V.L<L.H&T9]FHR*3N0%7D!4M83N"%]G
MO,?1/ [ R+*3;.&7VB-E$G7LJOM\Q"1?@F_XBM@'GXU& =ER.L-;'-7YDK3$
ME7*O3&90N>=<IP@["^\S^XS9(WT>1]=8)*#*@,@KERZD'FE"R4[83 /465[
M(E*>8M5CD"J<S)+M7C,T"U".8,XX">4AS[O%BX(I4J%X'EZ[Q24[]7O+F(U
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
M*)Q[?O)O^JMFY2OW21Z&0F2PF1_+K::T'"T]*RB)=GUI?NJ43/L]^/761X?
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
MENJ03V@ )#1 'H \< L\D$&AG:WB#>]A!M(,>7[9S>?1=7,V&^P,R6XH0""
M1 2,0M@CM]/<A%B&S/!UF.'&%,)5\@G>0P9RG^KN5@S30I=-:RCR_+0>,2D9
MP*H-L&H#K-IPX_O_[Z&$7K<J1@77ZTGR2FZ,2^BFJQ$I)<"R#5 ?W$C9AL^/
M'-Z\87\9M1\$H30P,+4FJ5UBAW)3'%T;)MAN2R]80!CNI#5^\]4;VD:8LQ*^
M71JP5,/ME6K(WLJ>Z8VV5V\O='QO9H5-+SAZ%LI9! )%SSVT+S1[49TE%O'(
M5%CE50D],)<8)OK!@PI?A7%>&8R<Y)MIOU;WV,A1[**\6-MLVZKM9W'"-]3=
M\0V$5J:@]7G[^R<!0:&5\506AF.;KFAU,Q+RXLX%"_ UMO#A @P78,@26=C[
M/\D1_49K6EL/F9YDD8(@NT7!<99\PA%7V=^') %) I)$UDH6G"2,[::/=XD]
MVK"7';I.5Z/JE)P"E0WK#T#"@(21+<(X5[[ R3V%DW2QC\->)#2WLF14EFA0
M:#%&HY?J"_K;#Y:A$.J2MR)"NH 5!2!=?%)&P?M)8\6T+"]@1P.T,1CU5QNZ
MIOMRJC&X;S]H D<XC((U J#&@#4";B#EX"32,8MH$_4R3J*5]K#BRZ30B*)T
MCS ]QDNA+$)RY-V<^Q>VAJ]9@0$._GLK\"H!//"?I0/_F3P^F.F=NS/6<D[_
M43S XA$I^A'2J$P7^6UC.O+MI2,1Q,X3)U6#5SB06( C&$K#3&.85@B/'=P/
MQYRKHO-K":;%B<N@8W6G:!Z3I(D^[#B:'B<$0P%1@M.W>5TUA-=7+@+PT457
M6J]JB[))3"6QMU=F=4W:E20SP02L!P"7W7OGA;O+"3C'*BE+M4I<=&IK-!]@
M.W,QRO=F.%@E86D 2 F0$FXA ^#B2AH=QZIKFK9GXS,J\A?5%<Y5@6IX*!+
M<#!8AQ0!*2*#>_Z7E YVEQO8_+ ?V'C7:N'&CM@MQ%0ZP'(!L%P +!>0_<W]
M2[*#:A(-Q5DQJ+!VA8+1]DIKNYNR ZP< %7#C50.^'1VN$#A@ _B6LP'NY(0
MK<MV94^6VK8MF_XZW;<#F_T,@E*G4@%OOH1 R=I8"6[U  R!H_J&#DL)P%("
M=[YU]^I-BI_H**;_^(P\!(UI^E@^,B49+;/8KLJLZS5>P5!83@#F!,)S!Y!U
MWA&L_(USF*4UU92"4Y3ZMB4U;969^\V4<V!) 0BOV]H8/-M"[*[J6K==<Y<H
M'8J2/Q?*NTJS"T !RPK A1@RQ<TSQ9D63]U%)^VPIM6E/L-JY7#4SA?1E"=@
M:0%(%) HLD445RHM\#?24"JQ5;+E556BFVVV$LX[EHO%*6G \@*0-.Z=-)Z]
M;<8O*KE*?8&_<493Z'%=4PM*PE*>#BJT6RR&+3/E#/K;#PK!6 +!"?R"EY%
MVH!E!B!M9++.P-_(HQ<.G 4FAF5IUZ@1(Z;7$@3E$*6 6@,DA[#LQ>XQ@L4&
MOICBR%ZQ@<^GCO/F*?P-[U&G2"FA2 92%!+S;:-61U4VQ3M(0J 0EB 0##LI
M%FZKY$#J_>2G:F#HR; L5X8;I,,!ZPX\3S3P?-WP\X?&_V"K;2[P'$O/_0>:
M_@]T$VYF_^_5FQV\OHB"$#Q&,/!>\$#2<Y(I@(I/\-,SDN<.DOG4-_R-I1F'
M?*B>H7FFFW[*2S>IY.6.VO0-OB49+*,&$WU#D6K"0-A5$AF@N/ADE%_3VX!\
M=B=\]DIW]1/8K!394VV"[<J2L2>[TFXN56=Y$[#9-5(D(%:_)%8_+SGB$Q V
MD@BV@?>*+72'\L*<'5::.R$&"(.5%Z!>@!QT+QR4W35^OE<$=J7P5<F:NQ)7
MJY)T4TX9"%9Z@!0$*2B3%'3-2A&?P$GCE3ZHR?J.1J/FT/?KJ[8F, =.(K[]
MX!CFZ)8OY"3(29"3;CY=)$/:J%BA0ZG>GUFV6I$\B5Z(@ZK(ISP$2UE<)<WD
M"_#00\X)Y*%,YI]DB(U:_KBUL8K=)2J.&X$?T1*M>@<V@J4SH"HZ:QH+9*,K
MI;1\ H\0L1P86T=Q4'D8Y!<Z,2%F?+JK [)D_AY=W7RMCH+JJ*YFY-0 7-51
M,K1T;3A B,"0PP]@K&$)CR]4PN,-Y<'YI-DLJQO.=;K.4.%\MT;I]<Z6F3(U
MB.6/W.J1]HL8A0'HJ60HCU#*9MO.R^M->R/APHIL66AS/.S&H(? K1TL0A.7
MNM(+)NA_L2S;[)WKN;@BN7&Z>7,ELKGG).HS.#Q+S=6<"(QGQ_-!9_)AZ%O3
M* 3O-/".!WM'&&KBM+;^KM88"(WNJ+@(-_5F=VR"3J72\F08B]T+0T$P?OKR
M_\;]8V+?9SD'#5"TC_4Z,XO<H&3APDNVRP;-8;1?SP5:WLCM&;6M!^LN>"LF
M+=Z-DP1"<Q>\# <NVW#9ODFF.-^R?7::R,12NU_RBZ#=4QB4;O)+$\<[?LE(
MF05DE' (1M((CEWP:@#(+)!9(+.\-WMD/)O1<Z*[& HJNW4K>DES)OJ[S_=?
MC&4JE5%OU#8V/0$7C%)'V&UQ64D%/<@181F$Q7"$O&2:"*092#.09MZ<$-(6
M,'XJ8Q(J&8U.!1/FT:2D94_%% <;=TEMO9$M"HV"(\F86B$/*H;^]H-&$1HE
M$)2",N;*&2'WR2]9+#R2=7XYF>CA#UN2[_&3KM!8N5@+EV@Q1M]=:.1B+./T
M9UM\A,VWJ.JKE28_'DPL[L R7*)B$)2E$8I@+Y?5 4GF*XF8[)4HN3[).*(6
M\YI8+DMJ 247_4E_O1&S%]^T8Z,A.IV@*8F]5;Z]02W".3!#>J$*32%T\G\D
M?LJAO:UB)N "FC0OPYOE4C<^IQT"4UC-Y%G.Q2TB]@/WK^._Y6#AF=H #6E6
ML;@269%V[H:92K.YT!J;']B\.76A>S*"Z3\%QWQ7P:FOUX'>M65YZVR]_+ 2
MUQ/&($ 2!H?@W 5S,*!FN!-N^6*WL=XVL9SKCK=3K*+-NX&T6FXG4GX]</.%
M:!-VHY15*%!2C6*8FV05B*E/7:_?N/,YV@X=T2637\CMKKLQY7T<_WZ([$IK
M;&$T*_&-8;DH&'2E:VRF^$B,8X &YML/!D<H[C;A !=92 B?M\B>G0VNL3#&
M 4%O8XW;2CM[(%;)IAE-.1Y0 4AS( F$HB[EVT$N@%QPJQ6"/T8&IU,7@N&D
MQ0:KL(#2:'%L]ZMR5>Y=Y%;DI\20=.R_O^6/,(2$KPA<6NEUH5&9;$55;'D3
M+I7.($6!Y!#LR+&(\UU< "D"4L37DPLO9!T4O<%X9KONQ):[]$(K.;Q*X.\Y
M^/U>N2 ,]O$P*A1V*+W@%#,V2DU23R,'6$OB*ID#]T &AS0!2 9G21%@F]Q
MWRWX6%HV_'FY($>H2[RG:M^[(XA9<XDV=Y@KY3F1ZF.UWI#M'R((6- !ZH.W
M;.I_94HH3MG%N+11)+N"H_Q2Z5&.R%QS:>]6'<)0\WH#S3O>0JKT"(WUTJ4=
M?U75_YLOJ%#TW.2! S#6WBRW>MS,2+XVZ5!81.'VBBB\WQ: F_P?WX#X!2=Q
M=O@YM))WZQM:TC2T3IL.XG:T:X=6961'JQE3FEC#RDXW%8P$60 T0K&7M!Q@
M-N%7RB;,WI&(#-J9F2:M<]FA'V*LWM[>MYUQO2@5E48S5)AJQ:S%@+&H;S\(
MA*.>5V:X5<;ZTN"$B0@7T '//(7"?I?W]U)!ZBL86JIKJZ7)\ !,S$O+_XUB
M":[^D& RYD3<3F+#>ZA%UX5]BPP%2L([0HV,O(CSMVED 1(>CB_4D%L@MT!N
MN?D\B?<XIN^A&)LO+_A\8V';UFA!T*MU$#;J:2@ ,B8NODD*20:2#"29FTBU
M> ^[A+5ZB/,#=2'M7%+MH!.VV+$/ N8:*1B076 ]!\@N-Y2[\1Z.6;+_/WMO
MNIPZDK4+_S\1YQZ(>M_^HBH"W)(  =5]*H)!S/-H^$,(*0&!D$ #T]5_.4A"
M&!G;>X,M;%5T>]N@(:?UY+-6KH&+%A>UDMIC>L-E*Q%IQ(4:83"?X=,18,Q/
M8C _,)V#+YQ!?@48(%<:TKFHO%@.EKFH$MV5Z<.QA<]E[^4D\H6+/&,>T,*\
MISO(]Q#A+T[F$#AZ?(:C!VDV$!M:EI=EKZ,>KS(]TQU;RAQ$KK<1V_(N.RGJ
MDP345N*XIL9EWKD@<"1P#/55X$C@C'%G9XQKL/):\:_1H15MU7:;(L>G.\FX
ML6U1PVD+H0JJ@_&@X6@_1Z9^J _%59+^2[OK*C8HY"N#P8"2GE?UD<)&-F8Y
MC>0@$41C!3OL-T>#AW5X^&4@>&T_;,@:$\]-YX4E'TMOM](@8B9ES+*14T,
M! $0/ (0^)!J^RN-PZ]  Y<>++:90Z5%%5KK>K>6&<2Y,H&&*-3 Z7NZ)0>X
M$.#"SR,(G^)0\"M00->3_?E^QYK4@3>ZL_1Q?9Q94! D;PB2-P3)&Q[< >!7
M,$$<52=IK;%BEP50*HL)*J*5%@03@NP- 4-XD.P-7Z\Y?/C$_CYLO[S(S+D4
MEYA3FRS;5K+4A.5GV""(SN>9ZP=N#Y_!H0Z,D 3A=@6"= V/EZ[!?QN[KP_:
MWGV\T-34J6145=WK!"&6!\^+KIY<49L,.V'J+%,W\G#_9\?O\N<)G(D#1[\@
M5.&G0,X[E9&K@-/7S5*BQ-36/?;0C8]WN:HRK*41X,2_'> $LN4KV?JZ$_ZK
M$A'=%J,-D* %KJ.VQ&:ED"]66CLD$9]QB!]LP<$6',"$'T[_KX*$FC%JZDH0
MAY2YJ:VI#FN6!C3>-C_EA#] B0 E I3P6^*"JXBQW!5E68K'&*HAS7.-2G->
M.PRP9A]D(0@0(T ,?R'&K9P&KAXK7,6+]K'*E%,@/>;85B,[2#[7-BVCA?&"
M1342DW$VS*1B 6($F06"S (^0(S;.A;\.FZ,Z**R88W%G&J(8D=)KG.EG4QP
M(_7'/W28IIEPBKY6X#W(%A PC2!;@%]\#ZX*>X)K;-AFM*5R*_V8W_7:E6,Q
MCH6=P8G94VPJS%#7JL<^5@8 ;@\T0=(!2@&@KE%7]"#TWT^A_[X,)?3U(=X-
M4SOC+QM$+&Q)$3U0@Y6::[-* ZV7G3:&A^2 *C2&Z3&=0$X&T3#%WE&K"*C
M-\&9( ;A@4#F5AF>WXLP-$\G>W1%R5(%5H]F2G*_GZK/$,*@A #A9/0QBU@'
M\O634P+\[K9+@WUU,E&H/0>>6WO0&TW6=;:%A"+(#A!LO-\=&+Z=?\ M]LFH
MDLHT)E,Z0?'973L_80^9@[)#D! D"@@P(<"$1_ &N#N9[LQB.5Y/\KGE8?X\
M6NY+(RXV)2"!4@;$PBGJCC52 HP(,.+G8<175B%X+R[TBL?FQJSGJ[V.EDT6
M!^IBNN]B?2+('Q#D#PCR!SS ,?\]X6&;E(74@&-%;D#)F^=FFJLG>&SE#U()
M!+SA45()?#D\W"&3P.\*]F)*L69,BE.5P[BB"]1B4:[@?1\G%6##B6CJMB?^
M_O)>R4E;"0JNJ*,YD'D-B$%Z@2"]P#<_P7OW484C'5G\Y66]LNGS,:^"[9;+
M1I2]J12SRV< T2,99!@(G .#,(0 =7Y!77D+<W9Z5.@4F[$-U9A$&OQH6*W%
MHC.$.4&2@4"\'NMT\&8;<2TU:?;RQ^**ZN2U^:BV6W:/6;P1!WD&@HTX0(J'
M1XI;;9YFMJU,NUMAN:KL\\=:>M<J'=(()X)4 P%0!$#A+Z#XI%0#;X%&?;0J
M&?OG;F;9F12VJWPZ,]C2.PP:0;:! #2^.VA<]-;GI4L^)=W 6YC1:W&1+;75
M>LL*%^/2@_ZS.-()9N", PQ-A]GX/0N4!+ 1I!P(8,.7.0?> H]R5>]WBN/%
MFBJLALNN*IG]EH%-?%;: 8H)QQ)W*P4:Y!WX89S#?WD'OAX\;NNJ\);$IWD0
MK\9*SWNJTN8WC0HKC4"#'"3BW -1.A:F;U[AX M7+[;^1":\#D0X+:LU4'0\
M'4$&@DM7 U43@18A%_]-K_<A794E,?0_%/XOL"<\S G@NX\[TN+"U W4#+VK
MOF(%P?&26("R+OEI ]AN':ZG#M"VD@"(2U0;".I,P4]YK;K*;-7N5I>+SI1;
MJ=I\N63+R3PJLYKZ%%>&@%Q\L91_IG4CP+-O@F?OM*]^ 9KMN,(NM6 /98[9
MU0?YY*S-[-$Y3^I3G"0"6?V1LOIU[A%?(&&)<FTC55(IALNJ]>WTF$W/F1GF
M"T$"AH O!!CT73#(OWO\ O0+A0W78ZALCJL>9AF^UQSO$ (%^1X"" H@R)<0
M])GY(KX D[J1\E*K59YW7&=!1[:E(E^J];'>@5Q%Z'",3H3I!!.@4H!* 2KY
M!Y7NG:'B*Y!HO57ZL#]-ZL ]3[:+K#[<I@@["A):?(JKR0_ (<OO), A7_J@
M^ B->N9JNE23^1@EM;:UPGP"1A,-6XN"_!D!*[JM(TN 1I_DU/(%.,(5XJO5
M]%C?+PMCKK]</1N'XPKK5\A/YCWZU<-G[,CP,J\((,3KJ'!'#@AX=R!"%*7#
MY!<TVT$BCU],Y'&.(%&((*)J3F3PT!#R@5SB:7C9U*^GTGI&&-(98Y^B.I/E
MO!S=2LP@DOZ-(B!X7!JFH:.1@E/IA3K441YDC[M4;S/M; >C>;V]R>S@V. :
M'[%P-'FO$F"!'_^[77&_6FJO#=K_WC,TZ*L[_J6,Y\&QZL/ISN:J#"=;)VTI
M*8)LHOELJAH:S+1A:-+$-%"?NJJW,ND!;_-9)IG;KJ(QKA*?R>6JE*8Z0AK!
M6_R/?Q@JS$:I[P)O7Q_(]RVE]:;DXH-'V$R]2!4GK?J^QZ[*=$JIQ9G\&VXT
MOTT(<IU9;3O-,>O>1CBJH_JNGD[%9TAB$E +B8>C#!-.>@3H/*C4!*0@( 5^
M@)G;D8*;8XPO-O+)>M3,B*U8@Y/FX]FQ)_/&H8HW<N01DPK3J6@XP02P%,!2
M $N/!TO776?D72LC4G-CW#LT>&G=BN]*YM%_ND9NNZ<.24D1EH?#:%?G%GV9
MK;0P1$7_^">)*BS'PW3\6L[E *,"C HPRI\8]8HC#5\[+!00Y94E<Q1E;B"-
MN_N=_\!I=9PRG72L-J>RNYK6%8U159\2<&+_^(>EPTPL$693 3A]LB>-_V3T
MWN#T:D*7K^[X(X/35>^:;*:AKS;<K+&LI!;)9&S2'>YK._]!5-<P.X-1>L\-
MM-)*FE"EB;[&EB?D2),,4RDVG$I<)HH(,L,$].G&].F5K#%?W7%_(532U$"!
MT<I-BN\/*'DX*C2['?_!2E;.EF-)OCY?,K2PFK;48RI1QK""_6K81#C!QL)T
M\LU:./_&;[Z5Y+OF$KD:2=.#>_6\D'Y!E57M;[C*)E3<7F6.&QCS?D"X>=,%
M@ ;^I42B)EFKL#L'(5Y :7!XY0 G*J2H!GP9K\&/E9 $[YYIO!Q:\YJ!?'Z,
M.= !6G;8L0WN?&)H*BF\(DCP(MW>"O6G&_;FO:..;]L!)'<0063QPV,N2OI:
MY@]HB8'_?*S)<(F#R)R\^\-MQEU%E_YJ#_XM2MM__@M_."^1 :\A&)V_6(M1
M]!IK2Z6H?]UNGWQUR3$Q>Q=PEEPL[FHU_OE__X^[]2=@CSBCA=';U2UKK!D,
MY#,0F6B 7T;X*7SSW[R\XP^ZU<VDXR3^MP/_:!1"R7^%K'_1*%P,X8K?1UP#
M9>T6$1E,#?C)4S1^^@Q#O?.AJF-+V=\:D'E#V@+T]+/GXODPU/7?#&0U:*W
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
MV06J2196(,*O8(^ _E<XQ N"ANHI>U A 9>L-D*RQ&-H@#<$AB(?425_+;M
M37P /O6&,;U)$ /5*2.P8(&N;J,NJ6)O5$^(X(' F=Z83R76K3;5Z(Q,>C!3
MENUR>LS$227"1)P-QZX6,0ML2@%8/#)8?!=N=A>T>-4"-:GI@$LWQ?42U-A<
M7A@LI6%CAV #56)F8V&6NGKN_E@F*/NH\B[LRE]P]P!4RE\#]MW\]G\VN;(E
MW8;!@P?VB=UHI)S/3>5>-L[G!UQKNAA($/MPEMADF$E182IV1\KTH]=_@  _
M#P$^E3"]!P'H>*E6F\WXVK+"<DNN SNI+# "('<D)DQ=K=W^\$:KQAIHI#Z0
MC,8LL#GYE"CY?@R#W D_X/#/08MWJI;33":BI[+<=@FRQ>%&RR:B]2$$5YQZ
M-AYF/+ U<'$*<.2'X\@W(64?AI&+;&^-84HKBAV)X]ME )KJM+Z19@@]4+:W
M9#B>NJ:9/999RCYM#6E@"Q03!":I+T-(51.!%B$7_TVO]R%=E24Q]#\4_L]G
M _HU</EU0Q1P,!LIV@0HKM*O#068Y"@WX2H;F98;S_W9\Q[2+Y($ETV$D\P]
M?<Q_M*0$6/+P6/+M>=@EE+Q$D"&CUII,M1WO=?JB4N_T6E)-;"$$010,(DB"
M_M8)=_\[.7O##J U I>V+,(OZ\ (";P^#ZTU%:4P%D.30TAU#&IH-+:8VX8B
M>-HEQ42?6U>HBO[??T]NETO/]YK=(W _OX]AH!U_ET-+&Y4AB&0AAC0M",D<
M>CH072IRVD&1K ,A#0=!O"";WJT7_5VRW&.5\F8Z4>9\:PNUYA0F?=$P':?#
MB=BU0XW [A8@2X L#\_W;HXLFTETS@P6G<%R(,9;@]78./(*1A86.4O$DXDP
M2WV?RN'OXWXF'%14A/,5WB=*ND7]X&5W8G[^ I)'H'E?JW-^JH.N?]7K[V:J
M>R?8YER(< :WKYKQ]KMLABIUE@I5J-:D!!B7.)">C:,4+N 93M*I<,K#22TP
MY 6($2"&GQG:W1!#U =L@QU4AURC]!S/T&9OPXH8,9!+?YAEZ#"3NF1JWRD:
M\S:6N\!"YS?J=CF&CW7(XN\Q?E4M]_&N\&,-@A[ WV#%<2>F)=?<8)H3#QME
MW1.D'6HI,O[1X6@4\D7JLMQ[8/P+0"L K>\,6GZQ-7J UK&K+$:E-=?@(HUB
M8UOI%R;39 NUE$5QZRF6#4=O?<SL+_D*:J_Y&V&"2+7/J3'EYR$(3&&!&'P?
M,?C>]AW$14)36=WIH:FFKD(2+C8?F'9\O;_Z:WW]L$PYI+LWZW1@# B6^>,L
M<W_ICV\FT38U88YB]=5I2$#-G,*&&OA/$:Q573("'3$@Q]^1'/OO?/B."8V:
M_&$%%$/OJFEA8TH:R)YD76],<T34/<QI_5I-RV4&V1IUJ!]FE<Y"K<8CNW$T
M1BJIQ>ED..81.1NXBP0P$," GXSKOP<#0,GKE9RZC5%\?PR&C5&KDYC/$ RP
M& 8H*DQ1WSLC=XTW3 VN]A=,Z4_]KWN0)=]K.P_ GWP_AGXYVOQ)1Y?W];=H
M:BH<4E'/:^JJP^.TNC9N-*900,2N:O_= 0+ZU_L4,S?9*B,IJE:Y0G\;F^C;
MS&3>3H^C<9+KB'J%=@7&E@!/ CPYQQ/4;YIY6 --&KX.N^B&#!5YF*YA4P_A
MT%KF%0.7^0"0R*T1J[,+W>N&9A+HE!1TQTP#>I"5^CNJ;T&EI,<E"B\UL:8E
MVDTDV) V<+98>[ #>)'6,UL@MS2;FS'%@9BT'.W&49QH.A&.QYAP@@V2\012
M'4CUYWHN_I94CVK%Z(HI5A,44\@;7'%OSI@\EFH<9Q-#Z>/IWXRS>6M)^-+R
M8BM5Q/T"UW9%H=#8X$+BGW^*T<4G6L]/"F#T7>]_L#6E,?T(GDJ-^J*?HR<;
MCE5J:2;WO*B.D"<XSA?-TN$$$X2N!% 20(E/H.3.S.RWH&1X9!/9[O.QLZR
M+=W@QD(S,ITA*$&9"^/A./LX$26WS51S=V=8?Z'F ]B;'BL8,$@3^]4:\9<$
M()=LV#B+Y7LU!45'K':-E+Y9]P9KUI#X\G@Y52&5P[FG8^%4D@Y3T:MU)0.#
M5P K :Q\&T/;;6!E,2S&!^7**K-<M;+BKIAO*EMMAV %TKIH.!6+A6/QQ\YL
M\SNR<\'_/C&@V/>C] A,T.]C^ /\%?"H? B9OWJ8 OM5(%"!0-TDR-FO5IR7
M$<U32>$5(3#B^&?K_D9F;S]I/7<)3/;7X@Y6ZS=?K;Y7.=^L3BDAG5T1]=":
MET3DUBJHJY4*E_&<U\ <;E% ^T$^'0^P&_EK_?RP+ ,/?@!@N\0UIH[<9[&X
M=PQ56'H8Y5;&8-M45^L!9?:I6;L5J^07_&P<HTGH"QV+AQ.QJT:Y0/4-(""
M /\8ZS\, >U#1E0;)MVA5M4=V$8;=9 T6P@"6 P!<3K,LHD;V^5]Q8C6FEW"
M^RZDR%]X]@ ,Z!MAW8\"MD_G-DU;<#&VI161?  4 ;R&=E3UF.OV^HM!KZ-Q
MLV9O&&NLGR':,;@B#QVF$I?U%0//AD"V?[IL?SII^079+C=6[63,J((>GZ<7
MW7XC11LU+-LH&WDL%4XFOW?6E$MJ WL:0=.JJ;*,CAPD.,,:T(W Y.,GPN/[
M,?P!1YW^@]S/BHFN28J*<Z2XE!\/=-6+2O=YN9YFJ0J;[6[ZLU&UU-V-8U%2
MRY"FF' L<1GD$YB* N@(H.-;LK5W0X>V/N[J\Y3<X;+*MESO#XI45ILAZ&")
MTD5?Q8VW>=D*+B@9O!EI_874+&,>T*)$V>L@IP5@Q4]DX+8\(4[[34U.@9X9
MZ)D^(3VNP,0V6%OIN!O3MB.2YVKG-7_V^:"CF-6E2E&#Q*;'FG27[3)0VR3)
M>ID@0"80[T"\OR[N^'?%.[&*&JE,3]HL^7HLJ7>7XM!DTTB\$6=APXE4ZE,X
MB[\L3$YV& T(0-I"XH)]6L$>:()$"AM@)A-2UT&VF$#Y"Y2_;YTE!DEZ@P@Z
M9R& Z &ER45"KBR+VP+%[-A:DNUG<JJR&\=P?ET&0FGT$DH#JU$ ' %P?-><
M,.\$#BX: 0N=R24H4.U4J58MDLW',' @#I8(4_%KP'&S!'U?RK<D19#6O P)
MU]HRNX7@U,NJ,HL80%O!V9A\UZI10>8%GXU0D'GAD]E6VQ'ZQK0*1;X+)3X'
M!=X#*[?3>"+2*XXX2FK.-R.ZR>V'--1729IB)DRE@AS% 7 $P.$7X+@OV_H
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
M4:;R<+[<;)R!RDP;4NQT9#8QV)92&M6<ED9,I+VTFRW.:$C<Z4B+[E4YLR%
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
MOJ[9^RZSI(2_9BQ-2![UL,LQ^1(&)525$:&YC2I#(K$@[>1(14C<;@W(RO@
MW!Y"25WW\9D\R*_BCY'L8&C$,2/XA_V(XV8'J*<:\(0=O=%KYH3-,E*I#<_=
MZ^P$:8"L$(B2N+B;JB&$1P7<K-.2=2&OE_/1/!']#R=KJ.<8YNU1?LDY<U?G
M\WC><NCI-&\F@?_5CJ_\'AHA3].WM4\K:/D'YL9^!X^8*R3(KN/7/3UO0:#'
M'+0ZN1DG:NF(-S//[$ ]_R#Y=RO;=SA+NL[8M*"MZG]CU\HLN6MEAIJ(/$.+
MC2>^(V2UF!;\=00,91/V*PM#(T<>0>L&1W>)UL$'8_*YEK'O(H,+$Z/V'_X,
MX<3GR-<CM#ZR@4S705B/.T<=F&$')?..C#9D2#V<M;B_?GLT)FB/!H+V:&>%
M]?7V:._O;?5"MZH7Z\O>'.AM@!R< PR$F'+8OQ%Z8*8[&GM=XR<$$ G.[>JE
M;PY;,YX'N(/VD:VTW]'H.8P[>"5\4VBNS0'N8N0UT\(MDY[W;!W3M33D,.YQ
MTJL\2S8C)#C'S;CNPC*]OJEUP.0O9&B])VRSRQM'"WH^$>KVMA6Q/.#_X+?#
MQSW#X*OA9H.4)HQ&*J[7GPPM"44G',LE'M:N9#-B^U&[5,T86C(9B#L+>/J4
M06/2IJ]]Z/O ?BWV<]2ASN\1$$I!&-#L<:BCH07[8^]"CV3=-CW*PLD/7$U'
MB\ P%]X56O=ZLB%*V[LN:Y!D8+5K;DM^LH"+HEOG"5H7FFGB;4%(0;_\W_]A
M^</JV#API.")81BRCL-NN.8U^H-N*CBRY7% ?&C= RG#NX4F@0768>2[RM[B
MB%\P!PAU43^,G:Y!FD%B$*0F9":NA(,[7D'U]=M9[%$;RKQK:(HV]P!<,U07
M;0RR[Q9Z3_!C<@ZTPW C!-24;F [,MX'=,1ZS D\V]-2Y9@9B+1[CMP#E4/0
M+?"$\DB],8&?W(,AL0I/C_$()'4DGKM[RNP<[I%O8LK<Q:(/=ILC"_#P/&J(
M_P]^<;<&D[1Q/Z$3X?%_/'G$9>^/J;#;ZH[*19%^B"C,L^_VHAESU_%[V9..
M)$\Z-OY%X-,"N^KD*].:[J,SN+\UBAR&?),2^Y4X'P1 &LVPJGN=%!TLC#H@
MU?%-OQD*$GEH.]FH.CYJIP(W;(BW0]+29;>:?>R)O!LW #$'D!U>FQO9LZO\
MIP[@^X_+\_NU_I'>O-0DX&G8ZP';WK@Q^(X\J%4):7D9/NAWB?M!>EUHYO+&
M5W]H//K+,*TG42=2!AY-4+-]5D!.H.XFJ,N, 9\^Q=U*;-. ST-M3>; 4/&C
M?0K;_C)\X2'[IWV"0VC,4K8TTX7$<O"&0%JWF'[G2[]/NF8?24?XR!!" FVI
M]M'K#H0<$G.(&GU87N<<3V@\PW379-UG.WA"D?VJB!S!<3@&ZRV(H"QZ@==,
M0;8,<JZ!8H/PE=!O1#''<&BHK0$:#%'E\*V::>TP&=(9&QPH=GENCNAM[EPE
ML\&MX?:S>^NZO)YX2#?VD=)#T]52_4:F^_<ZJ*TI4O$A"J3.3<UP\(Z)%!BU
MK1C+#E%OJ XH0( ZTR,A>*)Y_FO\#CM$JPDE?<U%2@F="/S]_3?)DY0CP7\(
M%8;AW;KWZR32@0#HY"OH% W Q^W(%O;U#7'PH'4'7/\1?.,9[YZE @6IP%-1
M.1 ZTET*;HI[&A\*DTID\83*N^ WCC'O> NW90V9*0129/QE:/T8FX,O>ZV0
MD-6CPU\(IV2T"4,B&_Z  _ XZIB$#N\]."1'<02SCSMHG7_PP7/N8G^[OC>W
MLPT.G.SOXL?5=^00?'*0Q0EK0 ZX['M@LFIZ)X+HZ$O'7<;P9H+:)T-=<PVR
M:V.T>F:'1DS^2_LWP:V]0XZC)2B@ZS=JWC4ITZ&S"/\&'V\:!_W.\,X"O)YL
M?VFG3T0O.F7[&6'Q ."IL$!D&LL$4IY*"7[V3AQW=M ^LORY[0_K:#>KXRYJ
M3>"CA8(?G%01@Y&N0!M:L30L2KMV./GZ:JD5*OV<F)[1P&0BU4?:N54[G!>3
MBS'[K,/]T^N.F :6(VO&WN B)NK>M3S3+!"/6B+[1]_X>1R(HRC="?)\B<Q&
M@':B ^3%MH*!^+PW##$0[R7R\& 4S0$SX*VG#9<.0C_---C%_ =4C'I?<>^O
M<P3"!D<@P1'(1X] 9(R*4D*),D")LQ(E,Y04Y9F!Q,MT3**5N"(G!C3-R_(O
M\E9Y5Z:HW^3BCTMF.&6HJCM>S*$)G%LA2'\ZLM>9%/*E6J0V+65ENQR)F7QZ
MF928TY'6% PU?ND6A,AZE,Z!K6/W^PTX,O9T9')5*PJJVXJ*D>Q\,RMFE-XH
MAPI#4D]';K=B,9+DJP4JQYD2M9FT.]$T*J=T,E(N9MFNW4IOJ,V@/Z@IT4JG
MEVO D2?S3,='3:=#S_H4TYN",5_7,DP)C3R9IS3/SV<%0-%42Q!3^EI<%3(Y
M=#/YY.UJD9+2O!YM"(NFI*22@TI&+:![>2<CG=PRDAHWZ:K@%JFBF;<[S5)O
M)/&G(S<];CB9MKCT5$L* YL:K#.S1\@CZG2HDJS;;KLDI05FMAP_IOK#26[=
MD&CZ="A7FSB,J;:'(M=NJ%61;3<C>?C4,\2WJ-Z<*[3C'0HLAE" ^62EG$JB
MH:>\SQN/JET:Q::Y6J8\6<O@T9;P4WVB7MND2,OV.&FHZ!]AX6K0PD,JER%6
MGVN=::VWY1OE)#=<U85%8SAT:8<;=Y+7LB5.+(3GS5<6^EYP%20:@GX ^_5\
M8J.\9^> 73QD4D.CP8',]%KZ89<46+-=5.=I,\"!;$SW_:!E[,DC(UJUY!4T
M=J YX]JH9RY^P"M-QHD[OI_4DS;1*FK 9ST[$^6YI1UFYI*.EKOY0I/#G*'3
M&V*H$5M*P3XQ[AH+'?_]R8 W >(-R[8?+?O]*0TF6\H8J*X.:L/S.O%,I\E!
MMEN<ST&"GZ;KSK@Z?QQG^I6;F=9!E\:3ZR+0/#JX:LG>L"/0:1L@9+I=RZ#^
M,GV:'OB@3=-=\B5@RSVRA7J(!GRY0[X\\+?<6P*^!##VI=@2P-@U^?*!(B0O
MHM=-V\>=! $^Z0+]RW;I5^JH=X%^C-$'/O:=FH5=JPECH$:?K$;WTTWO6^G'
M!1LJOF8:!R)PMR+P[GZ*)]&V>RO$\]*"4X>A]M^7D_Y[*O!VJ!$76=W]+>X&
MQ9:P-W-GQ;1?A,&+P?J=\3X0[$"P/[Y9W;+FYKFCV*]@?]^CU-ZZ4OVERMA]
M\\9625NJ#9_6C$J3%($-*0OL_8(?V6PDQN)R0(^%FCB:9"R)HC/U#W>J0L?[
M9XK39>NB^+AH+2>"/(CR:3Z^K8G#).E$QT3#L3@;ICGZ&H4KK^XF!9H::.IE
M-)5^35-3CMM=5D1*F-%EKA"QJ$P"?+C,[#.:&AU(';%)VY)88HT$.W54E]4:
MI)\<'0LG>#K,Q/^L <K]>K/$9GA2BNC"1L/=+/:FZ'1G5+AH[X*[,^WOR>0H
M]3)2S>P6)TZYD!)!FQL4^E&UD&Q_N";N,T &M)12E;E.=<J4Z[GTIL/VA$B#
MM'JC44MO#IH<5ZF5?9<N?*#G@9Y_IL&"]#PCN4N*7IHY(3U7QC5A: VBG4N[
M%N4)E8KHM5B) DXEO:U&E$V$6WD=VYAP/!$-L[&76CI^L8@&+JVC05T.@AE_
M#$X_I9O2[9=Z3[#UDGF2@H\4ZTYIDZR59D*I4.PWG4:FTEM<VL]:/5H+-A.I
M%::1RGC@;NU$;SU8D>9IL3#')\(T104!D4#; VV_GI&"M'T>&<6:RRW=I=(V
M)176L\1VF+RTD9)D*$5?F&Y;<%M-)T95FMFDT2#MS]@P'XV&&>K"-LJ=6=ZW
M4/H@W/*"&W9KC+BMFW;KU=\30C)2PK5 CK&*=4KN="F]U\_5VZW5A3&PM:@F
MNHX>G4VY07=9BNF/FMUMD.9ET5B88>+AZ(L]((. 3( $ 1)<UU;2:\HJJ=2R
M65%.4=%)J]]:+&N7MH:JZ^:V-(RLG*DK&*-$ <SCS5R2M"ICF3!'\^%$],^Z
MP=Y)R.:VML]/6_//6_*GG)'?V9I_:OSBARWYZXKV-W#67\KG;XU-R\'5=5 =
M973/\WMG]=^/H?Z]#?$OD/P<>*"!8']+P?XR#E60U?_=3,L+Z]]/"M=\?FK_
M0>6^I).6+0MU&.F@ N9GPCSB.%D26Q384)%6,C=E2L+$BC=0S5!\QAU%F3G,
M2Z=>@8\8*/*/4.3/S_Q_ER*[G7R:&S6YFM"*\KG)<#3-C2(CI,@<4F26B8:9
M2Z?8W8V5&-P)"(ZF;N0XW'KU]P21%[]3L 66J>+SJ3]$1R7'Y:-1+F.+B^)0
MK"6*77O)CE"]<Y9H"LW\'9QJ!] 10,<=6E?7N:;P+OQP'BNK3'J>Z0H@I0X7
M;:/=GO=QOP1H73'A*,V&^>]Q@>%V$/%#XSJW1H$@Y?G;)/2]"]+RBYP]J(SH
MI-AJL?EBGC:DCMK $PPB/X&J!ZI^UQE[[U)U6^&9=&IF&=1F.2OT.APO]#M)
M-$%HO<3#<3819FCNF\:&R"O:I,WOBVV2@BC1I[EZ+ 0$U711LYU[ +_+U<*Y
MQY7?$Q9>P^PY[5CU!NNGS.0R*ZU.3^7(G$IP4:EHVR/4?PY9/U0X3M/A>.R*
MU:X"H B XMY6?D] <0VCZ2- ,:L(E+#N1Y)BFN$+TJ,4T95: P$%M)VB%*I;
M$:9B_&O&TW]P9[E_3MHDWVMWO$/QI*CA$$K?60SXG/FW+=FPA\"R0T/+G)UM
MT8A+;LA/FT8ZYJXM^O$?-,-KPXA_MS3<+!W*A47ZO<OSN64N49-)KR$D0#W7
M]1"NDPT_0QWCO3>>;W]]E\VNO?Z_(,$F6)Z/2O _G!25$Y0$04J1>"H6&T05
M%H!X K[NN+/M8U5GBFJ&FM8Z3IUJ9A.I9.]L_]\.M8A/UJ-'($9B\9(J9QJ@
MUEB=Z_\[?639V5("$8%I:>5L<1LM)/K)<_U_TXJ1HVB-:4U+#$^YLCAA(XVS
M_7^M:7$L@[+<$7(%4!5D:AA?*R/I3 =:+;H6[<Z@LIQN!NK44!*EMA!'SSQY
M>X$MK=(1H9$1NP-CTFRG;4B[Y+F>PDJ];16$-7QQ=YE+#;8IJLBO&^?Z__;7
MW4C:HKN4&+%&E)BP5#[9&TGQTY&I)6]G)W%Q06U*S5+/C&2-\6 E)4Y'YAE]
M/L]$ASU1[J\S2]!-E=W*"(X\6?MRTN/;]#*;H)C)()Z9:*ODH-& (X_7+D5C
M#!@ )BX-&4Z5HCP2DF%\* T&O$S+0S7.4^#ILW5:G>G59G,@RFO%IBUV(?.+
MY%E)60,I4>_T^U1$LU,9*QU3YXFSG:*C_6BLTVD9RA04(MUVL^7V#>ZLI,0!
M9:49M>U2+;VQVK#5QWFIWC@G*>YH.&G&2MD*M=CFJ].FVNM6FXUSDK*99?)*
M9=%847)\6P&JH;?2I=$Y26GDHDHIMTK,IR EYQB6Y1NI_MGNTUPAJQ0BO*!,
M2S8_;\5;6W,[&)V3E(U8%%8=?:D(:3X[,)O MJW!V4[15EDT2IM2=SB-:&IW
M:[-I:L6=E:F>D'&C1=&M3C<"&#;:Z9R1-M UWY.UEVO9R)A:%5J4UIQPS'(1
MC[5*Z!K@9[5I+IL0^JNF VRX":@ ;N$UA-M-H "XB<,]]<66S<ND-)F N%BD
M9C,QKTF;17T^3WY^RV:(Q]&'4-+??:S=[,,A SB?W.77GP:F*J8OI&I6,V1#
M@8;0GK*GY.RD,O&FRHB3J5L:L*HB57MJT/+W/EO^,@_1H.7OB9P<?._M(G*Y
MYG],T)/Q'ME"/S"Q@"]WR!?J(1HHS!TR)L"QNV0+Q+%XP)<[Y$O0\_>:?'EO
ML]+73..OU.#V*OC]E0AP@0Z_L8?HMVI?>94.OX'27%MI[J>9*Q?_3NIPP8:^
M/T@$$M],!/ZDH2_!OCM+V<#Q\/V)YCZF?"DYO[/UWB)%!86%[HP,ETI!N0V#
M[RG%Y%*Y:,I*,7_[ARH'QR=(/\F-)N=,8LECDK:&1C8>IUHY1]U:XV8ED42G
MBJC=8CQ,<VPX3K^45Q(H]P5B)7=&AJOFE_TDW;Y4^MC'='NC-JIP;JXBM.9L
M)IWOREPQ@W(+.*S;+$V'Z<3%K@O>WC/;$X8D:-72D52G\ 7L[?O$I1?/HK[8
M5:!/X-\]X<ZE\]LS+LA"C4H.AU#N9.<%S!FK75H9M[<EL5NVE?:$SZ[FA09I
MW\S&PPQ_E;+]/U-!7SQD^6(*^K/T\])IY6_7SRI?E8Q>8YF:NL5D3+2W(-<V
M5J1I<Y0*)R[7L/DNHQ4X:R^(5MPB6G'KN[B?:6O<X?+O"?ZN'/+ 2OX\!&IC
M2LU7>DQ&K"TGD4:%W8(X6)%VSTPBS":B0;CCT\,=MU:/H ;3O8##E6,FKX!#
M7"T.J_E,J4^5'IN1F.$4):G7\'I$)Z@P\V(C^"\6,/E\_?^9CEH02?FR:'3I
M2,HI(.4LT[:?!R0K5EWE+=HPA59T(7>[I9$P&8](]V<F'F88/LSR+U5-"70U
M"*K\"%6]=%#EW:HJS)UY=Y-+U\19=EB<@FQ&'?!>ZV:HJC&6";/,]XZO)'7=
M7,F& A"9<>$(9^CJNX!+X$<%498?&V4YH4?HKR]FN_C*G36MC*?:IR#Y/#XF
MN42V&HF[ELB(<XN7K11DWHBT=:83;)BA3R,O_PX@(PB]_-30RZ<CQL5-J#]$
MC)58VTY @5T*FWZDL)@OROWM:D3:/R/$H!CJ)<3X8N&8%PLS!+[<QTRD6U<S
M^ZPDVENO\YX\P>L';:K >1ZUMMR0Y\U:VQ47:6M@S,Q:5#>24L(+V5!1+DPG
M7@HC!VK^;K/FUN+_2>FTMU[F/6GY]>,]+VKY)CX5M6I4%<19U1@;JX@$&@E4
MY\S+KHWR899Z-=KC5V3\4L6*GI89O';1J$,S,FT!57/*IFT#NV:<J1=EM\]7
MC5H^]CH]A]KTJ&Z9%HKS>$=GA=&-JD:ARHU(():0U#A4ALL]OAP\0X2U-1NU
MLS6'OS^Q[F50XNI%QX&]:162H,+5>4,H**5TCWRA'Z),P)?[XPO_$ ]*]MPA
M7P(<NT^^!#AVGWR!.!;HR_V4N'K%-/X)Q7ING?QW5R6NH@\<^YT*NEREQ%6@
M--=6FONI;T3SWTD=+EKBZN?(P'<K<_8G-:[8.\S5J<V! 5_X6GSV8E)_9\N_
MQ9D>\J[NC R7.,4C89:@*,Y=)1G1M961YM1.<EKK@7%)*#=KV4>O!-9S24:!
MK@>Z_J90Q _7=4I*TPV)F:]S(T&>%%)%DUJE>.MFNC[H5,%ZP#BT$!ER=&93
M809ES2N)1<>9,,.]VD/Q79;,+86X;IE(@R%/KVNN_$2\^A8YT:\=^GP#./IH
M_LFSZ+0%EJG*]O@I,.V4[0PPG<&A>C,"$2C]6!,C^<)PTUCPUB:3)&6R<#-1
MYN_KV1R!PGY=A?T$]MV5PM)'"DM+L76?6]9&(TE<S**)48?6<F(Q^0D*:T !
MS8@T+6A&(BJRA4ITFFV0NEFO*^R7#X'LKB:L+,UQ@!$RA\.0ZEHH+()2US9
MM@*?Z%O[1!<V.^[,,3I9[L6O6EW<%+F H]2%V@QJP^$YQ*N4JX7$N!9M3S>/
M\FR[[='Y<69$RF3%F=.*$Y>YJ1GH_T_0_Q\8&/DTP^;/-;\M#.(]4>B,A8T;
M=<SR?#YNS;T:6->P=6XIU9 B*-MG PV:?:+]H9$3>%U_ F%W?+7\\VGB&3YW
M?.'\Z\5C+F $>1"@@7-8J"GU0;S,=9I"JU;E1-!Y7 ^K25)^B[_FP=#/4HT
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
M/6_D.PHCN&*GU^+-I:ASUZH$^=H>YBTB9.U6$8)F4D@FZP@-\$)"T)A2SK$
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
MLE50E1[[].?Y:B[+L3-NW.@+W8ZTJJ42DAD1&Z0V%1>%CAH3YOEH$,H)T")
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
M=\9$A#FP)IAT)3*:KCL1^)Q225'816/@-G[]P_,/I\G%__+U!>"7HM^@>#U
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
M -%)M:#QB/=Q3WWQ3D&0 N, &22O4-Q.QI4IP?S@J.G5G03JJ8GW+_).Z%Q
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
ML2:^"H7'&!>&4ZC.2RQI<#S'H!=AT LSG_;[E;-L$:S0A)$CZBBXA05K4D>
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
M(XE(.:J2TM>ID-M_%X)_)!:=9.DLIWA\-[T9LI.&TW'&VMF@T2]Q0O @(#@
MX\PCWMA]].L?_%GL@G\",GQB <V1,.Q96%5#\MZ,V#J24\HWN'LL@ QC9#:J
M;#O':_E7$K+.2 TD_7/[4NMFNIPS(5)BBFK*3J^;<>GR7?8%?7==<)?&LA(
M:0*\5=8"Y@L0")X2<+6?04PD@$R4#2 3"2$3_+8_S-.>H\]5Q^&4I:>'R14O
MIV]#M94N..;MC&4OK/")KY2!'! V5ZT Z1F]QM?TIBI/+3O0.HZ4C0P "Z!!
MV,T@WP.(_$1?[)6,96E%V>UYQA;K/IZ5%X-N;\P+1X<XW-??(\^&R2...C\I
MC =78JNC=V;6#78"@#C0*@%=Q0 "*OI8/6@;7,EBLF,8V1ZRT=1AD]E.FD.$
M^_4/E=CMU_%1_*^GYU/M\( .LSX.DED4$WP;JJ^35V<G#CGG&MDL;\:W8L2+
MBKH#:9)YG;'R?__/42K.LR,M]:P'!#&Z!\O:I0!A@=*MJ:DPTT<>@S?_EDU?
MWCA[#P3[A.^C?W\_A_GBP;F!/.'D?R8.?H;T."$F3"4_(-E1-OGN:\<)Y?L/
M/\@XVNV,:RU^8^@3S%V?@5]W"R/0)YJ\TEZ].C[QEYWY'SDQL:%D_T>[GCF;
M>? AWK2#I'UK#([A(/O^!7/DPT2EMYCUF-3G*"CO]5W>,K9*I]7%Q51*XF94
M)M-=5S4(1+_"MSV/W-(9NN>,R36B8]U&@_+GU:TM2-CI2'<B+_EU-\4::A??
M9$EB:^B,#T:2)R,[\Q76*LQ442_BB#OFBHP!WHY+R.N1&2V;::\1OL2GM'2]
MHF\Y+CN%L2DG([6*Z2Z$5L,5\TRMZVX[\R;1@_?()_-<;U%;6"WJ<U[=5I>^
MCFKH) 6?>3)/1UXX7GXL#(U6R6@CHW:CN2 $B3Q].[-R%^+(R/+&DIKW4Q@[
M*-D8;)5Y,G(EBO06Y5LH7_>U:;K696>C&6R]<3*R.BS12KHW1,74>CXI9:HI
M7%W#LL<G(P?5OC?.UTT*F6%>7Z_U+6R,^/ P.1DZ;##+!IWMCY&-3(P+JDX2
M63THCW$RM*B7,AW5PBH&5D%2>'I:DG!=D- SVS19Y2IS9H/11J9<U%)3@3-3
M/ >'GE!?G2$$NMU,FKP\3%,K#6U)"\^'0X_)+XUDEAY2M"SA"HE*!#D"5,88
M12(0<B@/"949H?3KAW=6+@.6M,D8+;&:)UOY&L>VP,-/9VSJQ6JSR.9&HBQE
M>VMT92N4<E8 )D.,%P=KH\VG>AUI:]2]2F,,V?KDF2S*Y_4J4[#$[KJSK1-"
M'E<4[AQ;RWY6]M3:1$=:=C[-S18N5QEJY]BZNRI:3,VD%@:U$JISM[8:I+K<
M.1;L%.OFU$(RJ*%WQYLA@79S&>\L"XZ6<LY9U(@UG\KX[4*IH67D!FPHN%_[
M*\/O?9-K9TK=RM2%)H1B.3MC0584;^8!@ -VAWQ@X@<F"K DG&?3PE>/+8<
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
MR#*.!1EEDU" >;,3(]4'7P @L/!L90*_]B+)8#U01@[%/Q' A0.9)Z&[(?1
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
MI"F$YH@M_TS2]>4P-5J%(]X'EY];+^0>9( .@1]/AM#^CKJ4G*_D_(":^7M
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
M4;$.%>M0L0YU0_#)69Y]!GMJ3H,RFQ.C:K2&[@AO.9G:5-+"$%0,HY,D@?T
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
MI\8&U@4%SSY>133U4$ T-GP#E1"]\A*B+R1E$E^TYMNOB^=<JL@;AQAQ%8S
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
MC*3Q\P5*OQI:X%>PS2*+XCK0XK2QU-<T7?46<2?>Y#Q\L[6U(3Y:=>(ZC"W
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
M3;_T,K]0F@!P*W^ZY4=\[6 X7"A!CIA+G5SLINE*7>LXID*PB:_-8#S#8J1
MOY81\%?BK)Z!/[,H"*W)YK%(/--/S7,\_SL0G3'.W(O.0[R'!.-_5X%W*ZQ'
M<S G;??[/H"A[I>L6ZL?_P'_/+S:,50?"OWTV7LI.,][D<?_>1;)U0Q8N^">
M,"1]K[,/@LO2NW4ELT[^_=__>3S[G]&R] ,-$_5[M*RI ?7C.YEHHFFDQ[ZA
MVFEU M[\775B=1/LE\F!?>E>L[\_:#"D0PHH/<7\,_7H9TB/ V+.U77Z$<GV
MBI]VC$GX??^U^\\2I7WXT LLR)_OON$ 1JT,^/0GSTTX$WJ+[R2P?2#*@5_W
M"Z.).XXY$Z^>@2GUDS/_45-3'V+!/[J-[#-QWCT$_@RD$2BYLWMLO)OO_J-O
M/[I)<,B;P.!0""0A>!!E]<<CMO]*6)^2^A@%U00A%&VLZ@)):HI.33B%UDA5
MX6F #JQ*L!-BHG$<K7_;O56]QQ1OV)T:;%VIX_.AZ&CE$LES,Q.BW?.1E89?
MG,KY$)<W(4V,K'5IZ>5CA3P<.0[2.JG-"D6IT8^UKNX-2U''!".9YR.YM-_-
M;\4>B4?>VAB:W5996<!G\L]':KU\16OQ=4ON2UI4ZRWJ0WH*GTD0SX=2T^TR
MU^I;+7L>:K4,52JOFUWX4((^F&D^4]7GY*2++VTA"N:Q&*D94:$4_/G(>8$<
MIT4];N*581\W9$K?E.08C#Q8?=DK3UEB9=3DSC#C1-M1LTQ6X,B#U1LY/8\7
M<)V1LW8[GZ&&S6(=T(DZ7/TX:$^]HADO;-4RJN&F2 E\"8X\7'VUDFXM\T5\
MBF=I>;O<#KNK4A^^_G#UJVS6FC4-=BQOMAMA134FC5K+5.C#U=?K"XH2I+X@
M&71.F ;.MIAW6V#DP>J7EF [U;3L2QO"%=/K[+C/#F,P\F#UZV+7W[I\:83W
M5]6IE.UE]4(5OOU@];-LM24T1=^Q"\-VJPA$5.\O1#!2>#[244MK45#QL63H
MA2*W\7K]H@'??DBG8CDDF!)?*=II?B#76UZO)@=P28=TXI8Z58Z;==NVMLOA
ML$BXA<TT5IA#.JW=<5&0I[627>#6U$KTNOT\U0(C#^@4=Y;];696I*1T+^2L
MMM5)*W,3C#R@D\P7B!FN54H2*T@-V?3"R;0 1Q[023$-4[$[8T).#UEYJO;8
M4F\+1QZN?CJL#QVQJ2EXH]NL#D;KT-K.X40/5^^T:"6S')BZM/$FIK.I"W5M
M'"OLX>H'(WNVF<]Y$5<CKSKKLJM-E&V!D0>K;ZSU*C^<ND7<\GKM@<6WN_Q*
M!",/5H\W566M-+NAE)Z8EJJ8VBK#P9'L\Y%]/5]:"5XMBV?G))Z?+J,"GX,C
M#^@45=/FHEAL$%(V)-K=BM@0=!;.\T">UGG1*3A].I V5CKF5WUZ89APY"%%
M]=4"]P?"K"\7<M55,<_92FYDPJ$'%%7G1%@5!]V>5'"RAM$<2+&?-Q7ND*(^
M66#S3(D8XOUFP=GR0X5;#44P\H"BZZKI4X5<S;4;?GD]R\K>U*S#D=3SD;WF
M3#46V_+,MB:\H[5YMQG4X-L/:)^6QJ$[[W,-W%CV&O@V.U\O@AB,/*#]:JOV
MY"%.4G8EGJ5S_0$3UA;PF0>TQSG2"ZN+3-\V^GPM/5Q6:KUF"XP\I&A#;S)J
MU9@Y\F8RGC"+4:;NQ'!)AQ0-#%*(<FE;PTE^(FUR:L,? .+SAQ3%FYM<3AU0
M4[L_F1/2<#0OJ+T8C#R@*!-F"FVUU+ ETJ\1^0P1+?$Y?.8!G=AI=57QHZEH
M6^M!UU;U3*\IB6#DP>H;6BD[S%;"J90N-(ANC3$:70*./%Q]9S+@Z7:^FL<W
MZ;$YFX>Y3+?;@D,/5E_I5)QUCJ]9=J4]'^2'4H'81J8B'*Z^9_>KQ94^9>UT
M:5RH<W*.&/ M,/)@]4J=;TC988>PU;8;X9,R.<-#V-S[8/6-#EEN.6(VQ(W)
MMAIME-JJ,H0C#U9?ZTS2Q9I8->U&!;?U\31N&@TXS\/5NUDRC%S!(O"E1YG*
M6$Q[(IT,/5A]$<<WK5$SWY$JB[)E#PL]FQ[$L&W:P?+SJX6)=W35E"JT8<BN
MD;=];M=A[>"QU1 7:EQ#=_%L7FXO74V6!+L%RZ$?/+9%!W._MLEVI<U:R&\V
MV6@TA(\EGC]6T1A!P"><KF@3BE1HVM 5@>)I11-4E9SP*H6S!QC$F;ZA+:UR
M1^ZWBT;#VDHL/1./66AS9>&X9:)=L9=R;\0NL]-JW#MJH6F>E6WV<ILB3HJX
ML]W.^QM.;QVST,CTFLQ$<:8G=:2Q;OHMS6I-6L<LM.::;9,T7ZSCAF"-*D6*
M#FM!ZZB%UA@1F\%&GDVE96.QC77.MZ6P==1"&W'3>2PY4A'OJ#S?HU:M4,'-
M8Q;:M+V5Q#:3)NV-4YE2Y9(R[BW-8Q::-)MM\:4")"#-&TZS$R_F'L"@(Q;:
M5*#R-'#>)WB:<S)5:=IMMXSXF(4V&"_,M2RLIWBEW*[$PZ)*J0/QJ(4V)>AX
M65.G+M[(3 6)\Y;M1>:XA59;>^VNJ$U\*>NN2=E6>%VK'K70_(KGV(I6YZ3Y
M?,;XWK@;='#SF(U"Q)L<F4\/)9EEI$PG8,T!19K']O-)B^7:HI9VY&A;:#!2
MH;\:2*UC^Q0A6IQAIZT1GM[&';[0I]--[RC^*D6%;J8]6<7['6[3Y[*-T3;7
M.H:_LU+#[#75LB09FWR7GCCNEIJ)Q_!7SXF+T58Q&;R!$Y-J;]ZSXIIY#'\'
MRJ:1Z;NJ)*M-8-!WY[Y#]X[CKQ'AX=QN,Z%4P-.-N#(<#&SY**CJ>%M9-MEA
M1NK4A[DBWJA.FL",/@9  A?&X=I:;O#.C)PN&SE.[$3Q45#IFH'6'RX;!<DP
MR1(U+3B+;LZ$P:>#H3RE+"*;L;*2M<Q(<<F>K/)<#(LP' R59CU[12NNC7>,
M?K7"A)-LE!?AI9*#H?W0,C9SNU;%K45;DNRA2_> [4,<,WOQ^I:WEZL\KB[R
M[4QL5;;Z+ E,'0QM#O/BA*2HIF3EFHQ=:94T?1,G,:QG6#DA=9(CP'II _R5
MYL> ?,QXK&B&@:N,8=#"Y  K)T));Y.!K>++<"*O1Q:[I$>M8UC9JY2+0[:1
MJ<AIG_+&@T8OQV?-8UB94X$A9UABRS8HIBO%TR&QH8]B92$3D(.H,= E=:8H
M<[+)IHO-H][L  _(5=>-';RBN/UI;=U<9N/C6&ER#7JMM 3"[K26:X8S:A:=
M.8Z5$Z9%+?T\DY$BI[TE^9$>3)CX&%;*+7'I5SEJB1<&LT(ZFR_WUEGQ&%:.
MG9JPGE>'6WLY$.@RVP@: GW4FRTU%C[3:>!U.R+*GN6+ZJ85'/5FV[ZS[@\H
M:BHO/6O4Z]N]?LYH'<5*-<]NG P!]O7L.)P,NL*FKE/F4:R<K">66)-#RBY0
M^;H<=\(HUEK'L#)-:<.H[#F&O%R7C+R@=L:;VE%OMB9KDMT>UVMV)&R'DSZ9
M6=;ZK6/>;"]#5Q?YK;ZPR9F5*_LFLVK/Q6/>+%VQ,J4VD'M)E?-\:](,!$:-
MCWFS8DNLDF6Y(\M]JA*WM+YN;&WQJ#>KF ,^JW4Z,\EJV4R%'1#&:",>]6;#
MD QI$>S0DD$IEA,3ENQ'XK&=@ATNRI%'Y)LX&37(IDO4A[Q@'O-F%V/-%\M-
M;V1W*AN"8'H%6^Z)Q[S9-5VW*X/\J(YOQG5GO0JDN=L5CWFSH\$PBE>S660W
M%IL)W6_W%KARW)L5U$QFXVT*>3LM1$:=C>J6J,5'O=G5MN_W@LX*EPMTIU:M
M Q^PK!S=_? "M:G+)14@!-E>U;1V21^WCGJSZ^ZB: !SEI;[^2FY5#=&6(GB
M8]XL(>CI"I?.^%*Z.<CHVUC-]#/F,1]5[^2566@.1U(C\ERNOZEI35X\YJ,J
M<TVSI.ZV;J>I;KV;CK7 6HA'?=2P7,_;YH@<VM%6R2A1T&XVH^,^:GV18W/9
M3(V3*OZ&()>M_,HI'/51 3Q(';8[CO"^6L<KMJC56,<\YJ/R[D2D"D-+E-3J
MNE?,;8M=>10?\U&I%MOJ")28E]2ZVJWC WLB]EO'?%0\7:L2(SJ]ELB2.94L
M85UWB:,^:D24"OW,W(QLM5<VXFPN)_9$\9B/&FJE47_898I2H3<UQR4ZEQMW
MS:,^JCXFO2BB])5LY;9B6Z<BAJZWCOJHWLS)N=9 W>!J%-<GW?26);+B,1NI
M4X]E2RUJEKWID)59?\EE<H.C-E)M-J-+37I<ERQ6[DC9F>ISS?B8C605],%H
MW<G-Y8W>W52,>-GM6T=]5%UGL]UU9VW(A8HXJDE"3ZPE;S]<?5"A-L! \@=2
M92D69SI!B\94/.JCCL9X*-O!=H3/2U)O55G'ZT6_=<R<DHSB+&Z5PIS$4INY
MV!HY(S$ZZJ/BZY!H!66V8QOAQ)A.UD:;2T8>K)Z:CC(EOY0/[8+=F:Z=L-2=
M -X?\5&M624WRS3GJKT9BQ6GFB7S7:%UU$>=AD*AFEVM:]*RIUFZUIL+6:IU
MU$>E)D%[HS<G0WN^:3&2*FY6\_5Q$S'."JY28F8;N=&89O ZOE#GV=9Q'S4C
MR$(X*K:S-DFMZEFY$0RFE'G4G-2S-J][ Z,$/#[!'S?HY00?F$]\U&=G:+MO
MCI6AV7)ZBM"T9%9;-S1&B?-P#X1#R6^IA[1A,7QM--3R7[PCMS9;VYY L7+4
MMU?#KL;2$TU,OD4<ON.%T5!&/N9<,V<L@%]N[9:ANGI*G<,R\=O=!\:NVUJ0
M]# /I\8NX6)CJ'[*<'5#3^4,S9B/#7_W!XK 4O! ^7YXRC="U7*PU#AR;"P%
M9KBR-/ T^!XP^6BB:F'DPZ)C@6'.X9%2*C9\(_5_'WS^O3^YA@\.#3B/3!18
MKA$$G?VTQ+45*%JL><K^DW:RL%JR=H54B_)8GVY:-CF:K.OS0KQ<=^/W'I\_
MY@CXV3&2HOVN+CYBS/-3];KJ^PJ?:0R4*5L>X0;8$)?C[,)GC3C)7A<(C,4/
M[]ACUTSI#)"9/8&'4B]BJ:)GX4NA)6V:8]MUMA]/8& W]94R%VIX(?*]81&7
M6,D6(8%YBL6X(RD+5TW@SEX=]T0NM4.VZW7;?4EUQ_*J6!^D5_+'$SG'T(0W
MS@^K=J7M=1:*7&NF5X#(+$=C#,X?D#@!DRNF<NTQSL'9W-/;M3,XVU\W1;RQ
M'FC<1)GBW.C=23?OIK=ACOGB2G ;P/+,5)VQ-LS6F180:I[&Z*.8X1O!PM#@
MH;VSN4L._C]Q"L[NQLM]>LHN2PP\VU$7@?']_H?',X79'/M,#IC3H.UR(>YG
MD*2.J%'HW7^PRQM)/GF27O(HT6P_YC!_)_3O)[9_(;&CP^_40:'O>.:EC,9'
M61J/'NZ!!TX<+[XGV?WO:9A0]WV7B1,#(KV: ?/P=W4<>$X4&G_#9)ASI2C]
M=F+EH^^](4OK9S;3GU]U$B[(E+UZ)"\^X,]7YLMKEPD07R[$EU=N1B"^7$I?
M7K[/@?B"< SQ!>'8U?,%X=B5\@7AV#7R1;CCD?]RA7Q!.':M?'FYF#+B"[+'
M$%\0CET_7Q".725?B#ONQ<H,B#%_Q)BWEG1[[=#E8D3@WT"$LYYP_#$%^,4+
M-]*/DN1(D1#-<^""__N-H+^]<Z$L?<<RS^M*?&BMQ[=3XC_C)^_<W^\>>XX.
M_B@&.T)YD\.DGMT/\.3[/W^-?SRKPX#TXW;U@WRO>H"=B:9N23UV"5]/Q?]Z
MZV'QKZC!X_))ORREA*3@0 I@3AJ2@;?ZV@)Y2S)PGS:'Y.#-6'!0B.LSR\&3
MQ#XD#&];)WG'$[<D#%TO5)VW&L<'Z7I7UE% U#0PES!(^< AL%8P4Q)+N49X
M,COXRM:+NMXL3EQU\;K:@IR]SJ(8*(W)"2^6;&HEH5ONIH<VN^D'4EO,38MN
MZ[TIXO?JW'[0YKH19B/?!Z\]4J:1Z Z:#($KC+0T-O/JTA@6M0*\LTS!&P\"
M0V$"R;U0I!'U#4+8@+#A)-CPZ"K4VMY$XQSI._:<<%:UEC0-:A7Q@R"!5TI*
MI Y+#;RP[I%&*QWYTZ1Z(/OM!\%B#$-C HTC3$"8\+[,(H0)[[Z]MUA7E_5@
M&"[DM+"=:NN!,)F'[[Y-]D9<<(IKMC<:,P.\(1G;[11?V=X:5D(1DGK.%(]Q
M)(%@X>,;L7UV6$"FPLFNF\;K4CTH+3,#.[M5NU5SWBV:Q+NO][X1(-I#0\G7
MZGW%-MS8#1:4L(JII%8<"2P'C!5XC'FQXCM""(00+Z7 ?'F(X"/?*)!^N8FK
MO3[N#$>%9K?S4>J]:1-S<;88Q'BEQ@^"[8S+E\*DO!ELGLAA.,UB!$^^UM'A
M;<'22TINR5T!2GC^!DMI.ZHD90C VM+[WS]#KL!UXM2%VWJ=SFSY6@!T%:%.
M^/CO#\JY!RS1U>N>J_T2O4ISHL]H7;>)+S5*,&I<5U%JL#IM$NCD& %CF</.
MKY_AM \I.%+PFXA7ODNOU\M,)AI.,T.Y,J)5;93;"F('5BAEO_V@,9SB,)8_
MH\^!]/KSZ?5K%QPOH=>0502)VG">Y^K*YY!+M-]<,NCUKMVG6/0$<C7'MWB4
M9;620/I]=Y@T9B*__: PFB? ?RS:?I":O^$^URWJ^6DB5^_249/5#'_=S_6E
MRH3R*;6^,N=X4FZ>^?:#P#&2XS&>?,GW^_Q)?DW?6X 9;[#4PE'W<2QC&5D+
MB+$HW0\=WZ-SNL\5 [N/X=\K=A.J-4!"Z5ZIZ\8Q+/3%PL#>X.N%S#9JV04N
M$YE!'[92I)(0/BMP&"V@W!X$#@@</E_\[)V8@.?'Z71=\4KX<N[5E#Y9T!@"
M8@(+,('$&& BL<QA26Z$"0@3;B+?[XH@X:SI?F^$A1I9;H]".C?"L\U*1HOZ
M@]YZ!EM:"=]^P.,R&C]TF5((%% N#S(4/E?@\YWXP(V,"D,PP[14*:E]9DE.
MH_PBZ<J>9/LQ+($)/#(;$$*@;+^KR/9[HWJ[;J'@;*L\*4?#3CS4A; P*27J
MS7S[P0"W@!0PAF9N)]LOZ[E!Z$<[5EIN:N%[I@_P&.7X?>%4 70D>\D<O\<J
M67*;>X4\YJL85;^T).6.32X&5&89Y-D\#=O?4O 4EJ4IC.=1<A_2["O7;)0$
MA.02):?=H%S>0M;*%>+E%5E"'Y&<]MOFD-*F.:I5$)OVQBD4I#8C5.=Y$YA#
M,#3#$A@GO'1+"RGWUU-NE)+V1REIOZV99MOHCG">JMM1O3\S:W&G(^<2S62@
MI\+A#,;R+Q51^/RI:"47<,ZTQHX1H,0S=(Y\0T=&IS:3KXR32*"10".!1@+]
M>3-]KLEA/&NJST\;2PP"(PSJ1BBM-2>"]"]XGAY;CG/$.NW7-D6JG(X$R:);
M?E.32O9X+BH<3/DA,9RE,9I&]7O0B?ZM[G=7! \?E//S3J HL@UU%=CIH=V1
M%O(X;4:E^KP%@ (&F#@&X03""93Y<_'0U!\J>:1//::D5TM2(=OS5QDO7^Z$
MB9+#>E\83_ 8_V*"WR=+ +HG!4KX^<+'K^B8Z\(7&E\ I.:*S15-RR;E!KMT
MU*Q=&+0\4>%AE@^!$1R.,<09"Q C=4;J?&/J?+8KB"]H\=S*VTHYUR2ER*X3
MH5/JC3-L"V@Q;"^ "32P*KB7THJ1%G\Y+;[&G*@KTN*SAA)?T&0NKOI&Q8HJ
M^)Q?T5Q5HN-B'FIRTA" (G&,)E#M(Y1H@O;C*XOZO:#3VF(E4LN\'."=TFK8
MENT@FF^@3N]N]0D\@Y'(R$9*C;+'3AJB>T$CE]DZK=>JMBD7 D\I=7)UGC5C
MJ)&[\F4TR6 X0=UTSEC2>#45[/ RI2913)0WAK(2T+'CIXGO)7FRN_.'+)BL
MY4:&WE@8O@J7?*R94&,KQO6"ALL&(S#>F)VL?,E4!!CL8QF,9RB,.^>=OBM3
M!X0*"!5N)TSX5C#HX]O%Q/,\!^\4-N,:;F:)K0O!@/WV@V$Q@N QDG[)!$)@
M@,#@$R<N7A$6G"78^%8\V*:7ZL3*E?H2R4K.1C'LL3YI 3P0OOV@6(PB! SG
M#E,34'DRE(*$K(-/%K1\*S98V^VD[1<7.=R:YR<VF^-ICH.V0A+!I# <]B_G
M4*-BA TH/?'R-V??H-BJITTRFM.P9*/#BF1[& Q;DT2Q82"4(S"*9C'\U+=G
M+RFS.^*DO$E*MP+MGD8I[YY(J#;99\V*N,":/^3D]<K6_#6/%)%L?X4U(]G^
M$FO^F-RWZUKS%Y7MK[=FA-M?9,V7EFV4YG05:4X[A[8QR5G!P@M4I^![T:+D
M[N\BYAXYN2]&^.K-?+%@KU=R02**!7VAC,IFK!#X[F8B@;$LCG'LB:\F7ED\
M:Y<2A5*AOL YYZ4V9D0&%,]'2H&4 BD%4HJKRY^Y+C(@I;C>DU^T4R"E0$J!
MTB$^58SD2-B#T?W^#%]ZL<VJU#CJSC,5AA(5@M@E0 @4AN,LQM,O78I(XAY_
MA>K8,<[ BUD4A-9D\YC]SQ1.\QS/__X/'!_C#+X?E][)V7>"!.-_4R.3%=P_
M=.SYNN&GP;,==1$8W^]_>#Q3%CQ[:D!9^3Y7U^F$G^Z]W*0=8Q)^5Z/0N_\@
MD:K=)WL!WHUY)-'[,?"3>]3'_PG7&_KW$]N_D-C1X7="3>P=_F*(4;=61Q[N
M@0=.'"^^)]G][VFHK-_'OJ':Z1@0Z>^%%UA0(K[[AJ.&ULIX]LR'OZOCP'.B
MT/@;S.W($C\8IA]][_=%Y"^PKH=__S0V1ER0*7OU2%Y\P)^OS)?7CH,17R[$
MEU>.]1!?+J4O+Q\](KX@'$-\03AV]7Q!.':E?$$X=I5\03AVG7Q!.':E?$$X
M=I5\P>\(Q)AK9 P"LBOER\MYMX@OR""[0;Z\GMQ[SZ#?.W2Y&!'X-Q#AK"<<
M?TP!_NE!H6:XH>&_2)+_]P^"Q9^VGM0\!R[XO]\(^ML[%\I2=PQ8Z?[$\/[@
M<;%. >FW]-0_\.1_UT6)_XR?O#/>(<+8<W3PQZ&A^BG)U0T]E3.TI.[&CG(4
M@>U^('&2^,]?XS<EOR/]^-3Z0;Y7/0CBCJ9N23UVA2R?BO_U7MWB7U&#'<\/
M_T52\+(4P/J%2 :^M@S<UZU#<O!6.2#86Y*#)]7*D#"\&13H6Q*&Y!+E6XWC
M@W2]*TOM;1LKPXV,DYF]5[8\=-5G<;($[B]9ZS(7[6Z6*X22)' 32M?[F<Y-
M_&FY?'+ED&VVX)1P5AW;H4[Y/7?Q[G:8>V4^E@_>L0<9<M@+EU)G91HK+J+B
M3$E4*%@AGR0Q J<Q@4%%L1$N(%SX:%QX5#"?8FA[.38F,:[*%:[3DPB*R)P#
M#K35K-:TI^45'N7MRHC:#'!B:0(X8 $<L!B/XQC/HH89" X0''R\F?"D9CYK
M-ER6'!=L>9.IAV*U43>G^#D@P9YZW6*)-&FITN%(TR7[-)5I 4@0DDK8/$]C
M/,,A2$"0\,Y4'(0)[\:$7U;-+]:;VR7=DFR<G&X'?3:D%XO-N]OWOH .K8G9
MMM)&N8I'"I%MD9U&.C>#_@,LE$]C.$=B/(G\!W0Q'!D,)P$'9CUB5PW35.3E
MG.;-'F$5Y/*;6V?]AF*/6R.KZ5O#C=VA<YN6Z7=,0DL4F_GV@P6N $MA#$Z>
MJCS>Y=,#LEX0PBKY_HDCGU\.CBY[XO<J38X<:OP10%UXJ5>-5E<5!84*WICL
M(>\(XBUZTU986F8WTKRO"JX@\=U"M:70,!1*$!C.XIA G='104"!@ (!Q>7"
MHJ_A0]L:<X3IY)<X:3E&0>\4^VL'X@,+.P=A'"-@)/>2083P >$#PH=/'2=]
M#2,*T_G8T_I6#9^#M_7\OJ>U,Q C8+ 4QSB<.V^/8801MXL1Q!6L]59 XH,"
MIZ_!Q<CBS0%5SX_E2GHQ&-1*FXKMBP N8/24PGB2QWCFC,>M7PXNKF"?12;%
M=:#%:2.IKVEZQLXLR065R> -H<HRQ&"L9R:)IC/??M 41C&PX_C)VHY>94YI
MP?>"(+7PO8D5HL32FSX>/C60H5.@ZXVK)FK=3+3Z"/"M6^Z"[2B=KJP2*WU>
ML;1FS145YCZJ2M,83K#H@!CA \*'FPJGO@P+NM,+.FM94N2&6VEEC,X\[%5:
M !;8;S\$@ H$Q@@HJ0RA D*%VPNBOHP,>5?5B8K;-*6H;AN^R5%NBX,&@P!#
M(@3'82Q!(V1 R(!R3F\Y=/HR2 C\*-"V];5N&[19'7,:.6N68P 2,'!*TA0F
ML @COEC2*;(>/E&\]&7UUO++3E]0G+34YX59EO+KY=G&A.H->S/#Q%,.(X03
M1TLO&AHU7,.'K9A=/:7J<\NU@M!/RNZEC/7"< /C1/V9OVA"Z@WATI<&H>L*
M?.Z45G1U\8G*2CN-/8)KX6B6Y9G6N&&GB9RU7,VI>4EH*6P2#"4QGB8P$IWW
M(M5'JG^E,<TW:[PQLQMS>]PHXE9+GC:9$E[M#:'&PZ11C&(9C*,8I/!(X9'"
M7VVX\NW;?,Z(B,:Z(\C]51A+>MDDPW$,E%X W@O&L212>J3T[^E-@;3^$I'(
M-^M_%*X7OK@JD_;2K3?';;%FY-M0_V%T$NSZ/(ZQ%(X X)3!R%L!@*^^ZY\X
MS/AFW:5&1GY>JTT74J3HJM'.B:OT)-%=V!^=QR@&!_^]VA[]<R=JJI:;^I?C
M!<&_4X#C*FPFG]*MX+[11Y#$*:WY0K7\!).QE&N@E,[S'\%>.J'[LL<OEU[]
M2[AY0([4OZ[7</J T"A D"K C__/WI<V)ZXD[7Z_$?<_$/W.W)B) !_M2\^\
M)X)%[#L(C+\HA%0((2&!%@3\^ELE@1L;VMUV&X-Q3<3TL7$A5>7R5&969E;+
MZ4%\]5N3+,(0'^$P^J'R"!WY*:1AW( $DO5_OV5.%<G,B4;/I?BL'+:47M[F
M9(_1(X6/6Y0R7%I@CP^"_HW/>C$8?5DPNK@1=Q6QVM=#T'/D,<3BM,9LI;I4
M<NV@Q#&=86:%D"<.WK+$&5TX##L8=JYQ]3=D YTS9/R.YH]%]H(:O6G-K-ZR
M6UO5%X.Y(B$0$K_]S0C'861L^F ,.G.J[*67?S,@]%$1['>$(XD,1L+R7I]!
M;\QAH9NX=26U ^$HSKQ-BP21)DX81AB5SI]\>VFUQ);1]8+2.X?5WQ%0&I%B
MM\EHN)6&5;O#5+CR@G4-!"AL7/##L&F!/BX0_O>GS?6M.)H[!_OX^L1SYREW
M 1+VX2S?6^T$]8XML3'0?98P>"O1:\=(=!Y!YHN1[NKZWB[RPZJT9$8=M5&J
MB0,AJPAQI#MIE2 >ES6]GVF%,0-C!HY67R1:?1HIC@+2EK#J@TXK3Z@#DUF'
M;4+0Z @"!/?M;S[-\7R:YG '6HP/&!]N,:K\>QA!S$KWE?%XFK-*X4SWVEEC
MN6AV($:@>#')I.D3)@1&"(P0G[GU[*=R.SXHZ/M*WZ,^-*M^MKV59+5-.$,Y
MSXF-,3(M=A=YT5R:XUX,PV#HP$G+7]1">-_HZN_M\SV)\^1&RQ/D)9>3LB-Z
MO-J8!E)8-HX6D$1:%%]JK/CY\Y1;P11X*3.F$DY!QEV@/G>'EY\L]_T6C8]/
ML61CR<:2C24;2S:6[*N2["OL28E%&V=SX6RN+Q!N:+J.^S3B\//JZ&E+TM?B
MPX:3>\-I86:25J6K1HJ85$>G.=2;47RIM<GGS-4: TA-L(LTI )UC=LQXFXM
MEX][?LP6C044"R@64"R@6$"Q@'X] ;UT0S8LH?CP_:HA],:\X1]G[D7/G>?A
M/$PGA 1M/9;HY&)G,!G71ZZ@M X\U?4@V55O4PG W(<N-5J!Y]IV[%0'P /^
MJ8L.%F+U?J*MVG4KWYL$5'?2S!A-0R&)7?431S/0H;[M:V%SP $3,T@JH<[B
M8E_9@G'\_%)D^!1'2)<0#QR*QUJ"M01K"=82K"582["6O*.6?(;4!JPF./OA
MJLGT&=,DCNCVR9O>/$9\=ND1N[C%2T559&?6KVY[N;K$:4:6]8IV.3ON*"09
MAW<8AD^+PG&]]N=M;=,$P3Z"$T=SM,?P&6YQ@X]5KBAH_9.UX5,5+*!80+&
M8@'% HH%%&=.8 G%F1,X<^+=,B?@"#M$-&Z['OH@&P2>.0X#=6R#OOO;21.T
MTFW*=?.^0(3>0S<,YMH$D!VTL-BK3A,"E69Y^J:3)BJ_\K)3Z@%Q4X&;@I3(
M'- 7^ND)@7&:Q6T'_7$!+H[38\G&DHTE&TLVEFPLV;<CV9\ALP"+-DX;P$T3
MOF*PXZ7@A@2'!YL3H8WAH#F@1O<9WMID.\-Q8=0IN%-#(>DXM,'15%HD;ZB]
MPF_E"QQ%,B"U8[E6 Z"GAO!?#WYTEZH'^AV<L:M94]>&>H 3#? IQ,5CO!]C
M$& !Q0**!10+*!90+*!?3T!QHL%-2BA.-,"^]QM][Q.>M<S(?+]282LRU>%*
M0FE1\.UE1R&97:<%AA'3'"O<=-( <K?1K;.)LZV;_L[?AF[T&=+SKVSQ. "/
MCY9P_!U+-I9L+-E8LK%D8\F^ C+@=  LVC@=X NF QR1XR:: ^QC$H4#U_I'
M5 *ZWZU)7UV_U#%@U.G<<\,&VY6&Q?PZ:E:R;E,Q%)+=7>O(\DR:X,7;[!F
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
MZTV"[2AB4@29YFDNS3#XTD:,"A@5/E^8\+5@X+)-6>O*\PQ1$D%!XM=C9SI
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
MN,XZ^0M0X1JKZJ^!+KAV 2O)%U&2S^=A],(Q.NI#J7JN%Q_GNL$4>*F%Y\Z
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
MHL4IK"K51@^&D47X@8PMADMSW#L;6Q<]RP,+#U(NY@:..7U.EQ+G*%SL\.U
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
M<;11=+T)@&S0_P+KA>GA0XXK2XC_HF[+'YZ"[*0ZA.O+.KJ$)#M^PJ/Q<L)
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
MDDE]$*X>D&=B@YG_*-S(1CGRKTZC\(!:V23X&:@1!(2Q1??^5V#T(V>AD5]
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
M</$W/LT6'*;#[:7B&#27^]C.U+:MOL5B4"!\0H/"W$Q7Z?6!Z@&Y"GJ7E+?
MS^2H=O-Y^6A1G@A0OD\(K2&( 4]0Z Q2L#F7@=*T EA1' 1"<O-8R#?T#8.0
M*ODLT+W28J.KP6UL&3ZP&Q6/GL!VF'9DY@^RO$U@WVM5P-KG+M"KI9)Q+1@9
M6/"DU9-0"2GRG>X?<YTL6% Z],!&AP<+5'V;' N%@(= \%.C I:HPY0%ZF0X
M08NO .M,QV'O/)@U.%WEZ\V5;_13R8=&SM:+\"%?"2"W!+6@X$8&=A\Z3/[K
M]BW\L;KM(PL"8U.M* @<!8'?%@16:-A73B953<SDTK+()_IR4AAH<E\=].$?
M)9U)BZJ8R"9_L+<JP7T+KE659_=ZJS>N=2RE8P_'M=O^$).I.R.7\T'1Z7A)
M:7)AB7FE-7.7G4M9W!UYYUI7\N5<J8W;PX%N7"IDS&M#&)EZ./+4Z&8N%L.\
MU5U5;7V>K8N5?'(!([,/1U8ZY]>W5:NVZ$ZJ\>O91!U.ZQ6<4Q >#DW?*JWZ
M4KRW^78[6TQ4M=Y-Z6PA)V3^X<@!KR3/Z_VLS:^J;:U]P5?.I>%03NZ.Y*U<
M>W EWD['LVRB5.])\X)]>BFG=D>VSLZN^OG:35(JV/F[147+9)MTY Z8VOP=
MGR-75:?;:*R&P\[IM=Y8XLC$SCJ%$BFO&LEBMUPG@WNIVSY;%''D#D#[WBS5
M=7I&0NJI3KJ?D<^NSN9Y&)E^./(B7[Q)JLO*<-RHSZH=I:6WYE4<N0/ZBU+M
MIK6L)A=C_3*NU4NJL)@T%C R]W#D,)?(]MQEBHP;U<9][4PMW:OU(8S<15(_
MV34N5W51D,J#02ZG)!>K?)L.W8%3KS,%6U 5[\>3_N1^Z0V5Q'7R4D[OPCYN
M]*\UN34ZZRIG1JI6;<?=&PU'[D!TDC,:*3E.TORJ>RMDW/MV.2,/Y?0NG,J#
M)%\_->YKX\*YO>B3?E'L#!8P<F?W8OE*4C.MKCWVEK(A*/+5HIC%D0^V)&>S
M&36CIK(RGTL(<I*H?3F7XA-R*D?ZJ6PNDTZ*.Y.G.]/5\&)Z=CD6KY(7!F]D
M4KQYN8]/!3WK#:?295;RYI?M@ELJS4>MO7QZGCP[.Y_U[C6IW>VV^-OS1;%E
M7.[CTY)9U,NC1E;AO7RQF!?37:D[&N[CT^F59DY/\T5!\LY38G-6K)).:;&7
M3XV+=#MQ=M>2^55?NDL('6=R5;W<QZ?7U?M^6XO7\M(DD1XD*K<EPY[NY5/+
M:RZDLVKQ@E>\BXER=3:[R-_NY=.1=I:5LH54BF^/)HGS6?5LOASD]_%I]N;6
MZU[PPQ'?F O::K;TRNHXOX]/RP9_&2],5FY7-"HES^/M^$1=[./3U2I]FKP;
M9+J2WNM<5^KS:F/6NMS'?9:>KRSYKM>3RD#ZEZ>F=S^\&N[COJ95FRQ6F5:N
M*TY.4]F4<W>K*?NY+[_,ULNG924CM2M#J3;HM6?WIWM92A@F[JL-S5V,:Y.+
ME$EJJGNF#/>QE%"<*WI6Z-Y(Q/8:9_>=UM*]N]S'4O?UVUNU>9L\E?2YE +'
M2)OD4@N@Y9VW9TNYBA,7E@O>JR7.Z]?+@2I.D$)WT=FZ)1?.<%3E>]?S4G]\
MKRC31GX?U2\OELMXP;X]Y\7R]#YW>E=9W@WWDIUB3*K2;3\U'*=!\]0KRZHD
MPH[VD%WJ?&*=GE_6TN-:J]ZO=,=61J $&KS]]6G:3TJ\^CFZ@8693!K)H<;*
M%(QVPBI0=F-&>QT(--^5_0Z0[Y;0UIRA9Y_LEQ4$N']^3@%8<%4U<^'RIG:^
M6;_?,49KF"UT2S#(" /JEFD'?YZB=T2MO-U:L:I9OBFG6J[938_J^:QZWCJ[
M:2\^J/KK2_J@,(H)'!7J5:"38BA3A_P,/H17BG:];].C=:LRJSA8 74B%,^U
M@B^8!T&_V7(TPJ$--F;7DW/M8&'^"P4&AQ?<NYI*G*323UTX&[+70Y-C7=,
M>"D 6?!W'.^O^\E\,FQH]*POM/Y=Z3N6X;GD;W2+/LI9??'-A:'G7DXB(;_V
ME^\T3"2^$"D^>] 7[^ GPDN$ET/#2Y;&72*\'!I>Q!/AR1O<([Q$<BS"2R3'
M#ATOD1P[3+Q$<NPP\1+)L</$2R3'#A,OD1P[3+QD3R*T?!Q:_G)MC%V^ #\O
M"U5^&1"RTSUU]R^%RH<*CE\&2?:I$I^],/+;9X7WIEH&;OB_/P3AQQLWFDR=
M\+F@G&<=OY\N.7KL@@L*A0X*$O_I;[TS3!P__MG)"+$/M*_\7_T0;41<\MVX
M1'PKD^1.TK\5C] "7+]3_#93?)@%_"X@>![QN_]&I/!24A C4HA(P5>;$2F\
MEA22OQ,I=/#:CM>:2SO%#YNR\Y__4E5"!H.O-9^>VC$KW?GY3G3/#*,OV/\K
M:>!Q@_(3[<<C!-.G6]HL\!M!ZJ4JY]!$3Q@N$6L=%,%$K!6Q5L1:$6M%K!6Q
MUO$0#,V@?2- O<']_!K624_914W^X8YCB+(?K>=XZ##Y(H4;@>6SPY 'JTHC
M4H@X).*0B$,B#HDX).*0]_2]?E>H''.>CYX[__%/ ==+>X31ODD:H56>WSD\
M\4W2>D\!Y7]^DW@F[540WFGBX4XYVFI#_#L*2T8$'1%T1- 104<$'1'T\1+T
M,=+ST:1K?)>ACIVD:0?ZK6N#II[[%RS9X"S6Y/[;^-2_8S;GL"36IX?9OD M
M?2^,1E0<4?'Q8S2BXHB*CQ^CWY2*#YZ(J5_P%^WY&G6M/<BNM5_:,"7J6KM?
MF G)J%U*A)<(+R]5A$+4)>T \2*<Y(0(+X>(%^$K6]5'>'FTJT B$^'E\/ "
M<BQJ7W>0>(GDV"'B!>RQ;(27P\-+),<.%2^1'#M$O$3VV(&UK3VH&/]VW<37
MG$QX+B)U8 TY?ZEM;4KXG3JN/=ZV5OC5MK41EQPWE_Q"5\+$[\0B']"U]KF(
MY._2GU+@3U*_*RV\5]O:Y[RAWX460"K\5KU*/Z!M[7<AA=].+/QZW]H#/$;P
MJ7UKT3**#KC^KF#Z@J/RPI>?QSH.2#%3]-!$SQ<4;@I?TU'@Z B&12,C2+W4
MG(M8*V*M5R4L(TA%K!6Q5J2U/K6?TM<%ZS^B<>T'Q]F/UG4\=)A\D9\8@>6S
M\Q,'JTLC4GAE\<DW!<N'A^HC#CD64GBNS/2;@B7BD(@4OH4..>9,W\=WKCW2
MC-4W2>P]!93W:2/W]7FX3VUZ$J73OC8P^=$$?0AQQ!<0]'_T):S;+-F*BO7Z
MG&?J;HL,_ONC"Q_DMJN8FF)K<K==E'/YA9(=E;7J.&WSB8Y>LJ3K4?X'1UN%
M+-E3>4=N#&1!E!."C*7!LN?$AXHRE4N*;E\IAD=.5[0BI& HCI-?ZLYZ1$BU
M.(U!D6F6"UISO&^6]<<SG=B*K8Y6M,YJ:\KUF(HY]5R'#A#]*9WFZ5FJE:CV
MQK6YT1X1*Y6JYH8_0*6I^D0QG/_^X']P \N>*.Y_?^A+]Z?I333+]7_^P9G*
M!##EO^GG^DT71'$\FTQ E?1T=]0UK3Z@:8[=6-@B6@3@I0);*0CO=33S5'%T
MAT*&3O.#<X#4"%V$KOWW1T>5X\MDE>CG>GJLKUQOF;BLE!K=O)R2TS_^$6,I
MGH_Q//^?O[;Q&:50(DEU#,G$SU:]$4'_Q@0=J=YW5+U7W7AF)2534ZF7ZYGQ
M^EFU6<H<LIXLSFJI?+R37([3A66IHRN=XD5G 7I2$%^F*(\F(?H%K:&/(3?X
M.^9+#TMS?'HR] L\\^^%T<^)1Q_6GC\]V/P%1N[WPNAWI.)/3RH>IF7[UG!0
MPC=SAR.MU&]WY'RWH%S=C):3SK(R.&0S]R;>-(SI).OQ96.6O6P,:N(XF9?3
M<N['/X*8_=A@T/=BL>\H5@Y1.7ZT6#$:ZB*O-DJEKG+*)^_:M^W9O'%YP#+
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
MAO%3)7'R8*V@$BV8<$$+*/>^2T7SE]*'NN* @FB1&DZJ*(E@6D5<^[X@  C
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
M[A>J6:9?FKZWG/PQ@M^OO:F"6%L.7^#6GQ)5\5C!N&Z""XILO4EB.;&7^^H
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
M"@;:E&$,8!A@F+I)+I_2,(8QV($LZ X03$$PIJ;;2'=:]X:CV9:9$PQZ*.T
M]K/:5D]5Y;@WPDI;/5:5+B4+]6]5P5,GLHQ6AB,Z)':=B,*_CBAQ^!EF=V+I
MTY"1S432MLT9P-B<:M"*@]/-[@?IZS==E!]? %@JEUP^I1&DA$!W@)16DU)Y
M31B'0XKGP0-CA]H1U#8OL.X504%Q0RAN*).^"FXT)-1#8,426;&T<&!!0Y>L
M.%@MJ7%YI'!GU"@SR(#E7;GD\BF-8"83M :8:1DSF24S4UI+4C*!E("4:@\O
MS2 EH"2@I+REEV7JAM/*[DW']DR[Y+3"ZU$G#/S#ZR2XIT2A7%/4CTB2]H/A
M;$.OXU&/3FW>/EBW\Y1"QEXI8ZZO<8J3@'(*H[)K]7),9P><,'CUXJ?B,04O
M4((YP3^P<DH7CW)+%&#Q]@_L4GU4]&:9>0OEL"%E/W9-F%<XXY]/_(1D[$X%
M?3\KA!91)>,W.RZ"B-U4/.!/V%O%D)6_,A:/">@L3LMS$_P8X0B_I TS?=XA
MBTCTJ=L,XT'^YMF.9/D,"PJWFWLK!.*;$-^425_9YK9 "VNIA75D=LVT+8^5
MQ-21Y;6R =*0J3EN5R^9W*\F;T-^'$4D[\>)-.4VB0><#8NN!<H'0HF?^G24
MKMCKE!2IPOSZ"S*-]Y%RGE+^IK_LDE XK)3<9UF9$MHS:^#@F3FPL_H 'T?A
MHV*+X367.L'AK%QR^92&[2(9NX\!?U7"7Q/-.RW-FFS>J=O5-^\\34@W6-:D
M4X1 )[ITKJQ<VO;C+, ='-TIO^+!\+URDS!'[*WXPW<[[MN)-.C;":Z?5*"U
M7ZZ? UI82RV4DCI+NAHZESJG_,$YA,F=PK7(D#+>,E;=@"T1L"6P9;-Q:K_8
MT@4MK*46UI<M#?;8T,=L:6BZ9E;O:+:SV+]3KHNK-[,.9U'7A.=P(R,_#YU3
ML.0OM:TJ?\8A6_/TX*E8N#BV#$.2I%OGRT(X$>[=C[LX0)9-@*G](4NDJ_IO
MT$^P420X=OCRIDY(+XO"6'/R3AIT YP$XF8HXY>B@WB4327(N<CPI#[1@&.P
MRB673VF0 8#;>, UR@-<9NOG-Q0_X<0?#92KJVOE<%G1PH:8V@"_E4LNG](8
M8.\V'GZ-$NW=4S;YMW3Z>:V^_![X:3\@M\KY _%'O/KLEUOZ#@K PU&2CJ@9
MS*(I;5:9EOZ)H:'"3F[CI(,CDAY^>0C)HW+L<U1'FH8 L:43O":;KQ&(C0"Q
M&X_8I54K6H+8(DLGP"$@]NX06[*]T*2F7*X&3;D(-.6:JZPKFG)-S)"NJY80
M&MIT2=&I"=ITO7[TT*8+VG1M89- FZY=FCQK+'T#VW2Q*MS@(#?<0482A#1U
MEU\S.U7'KK)N6-K!^)FGV> XPZ:$4.<2)(=09_.1O/ZA3D!R0/(:22Z?TNB:
MKEY^;@.8ERKY_TZ^7BF742JZPI[%_HBG2DP![=PLBT/EAD)94/QEM_C+;DSE
MB^),P<,AJS(:1!SS+IG3B45GV3.<89'-T"$^'J7T8[)4X9)DN)<J."$*2QKL
MLOJD/X.L/_Z,,(B(>&/Q?6H#+I0#7%8NN7Q*P^"R??HGP&7Y<+D:'&_P0QS%
M@T?J_6<DXME;;;]/!AC02BK!:Z)US4"KT^,K0"M)T.H4A_XH%$[P51#==7!*
M +ND$KPF.M@,[#H[OP#LD@2[SLAM$/&3_[$_"] EE> U4<%F0-?5\0E ER30
M=84[) 2#JS;:]_RGC/K8#!R[_GJ>XUA]*YJ4-1LF(+HDB'XM&MXL]J1KH<QS
M1U.9?J^>Z%-V*5BYQKU%!TOB=,KG;V,Y%THP\396SHS7VZK)8561&C-Q=_GE
M\\LNE\XDTDR\4MR GLQ-4'6/#.;<IIZ^);U.SLO$+>[G'\>_6K7I5^689*G:
M.-DEBB,R5@(%C[)8T11M]G;V=M1O*D7"X8D97".#B&Z%[.A0O#2ED;\]-P0N
MHRZ[)4)8=POZK53'^/$GR\_@S;?BA#X>#"D,X"Q.'I5AB"-UBYMH.K7'5-&S
M<10O3H\D'\H%+S?'NG@PG=VF8#.0[R)DSK&CKN.$J4=1\(ANJW&+S3Z^9YN-
M1$H\"#)6BV/RG@WK(O;/B*2BR2:=[MN #9==R\D2@K-\G^UF.%/(--;]CF9I
M[]>M>299^IL.Z6\$TM_F*NN*]#<N8M#]_<UWS26>8W6=[P:VG.]FEWC?71]Y
M[)'I&K==UW><-^);Q5^T+S]\/K[YZ^MY^[MM:XZNY;^M/A?B2;)Q"D0M8:8<
M0^UZ I>9S<.0.4@X$7)@S^\^"L37#<:)NO6V^TZ\4-R&)/XH$0T=SQ_\/HZH
MM99?B=0]PSS(/[FHAT?I(56ZK&<4M\98.=8@99TE*:'DC1Q3*C#]!36X&9UT
M2!^'M\553HI4)!%OX)^<D%%$_XI_(#4[^G%"1]\MAT#67,MMI8QN+S5TM=]F
M>JHC7^KC>CZIH39U9*:M.J:,8]LDHK52-7=B!C^+?-"-R[;X[V_0FY4B6YJ*
MEJY+#1)$3[]\;G^YNCP[OCD_4[[1GU^5TR^J<G5SIDYD"\JY5J]$A'H(N7)S
MER FK/UN=N;)X]'+-:)6V<ESA]=*6\JW(!R01+E0E6N2]# UXT"M:ABP+PEE
M5DD.V@+:LF!Z3_LX2%@'K-S_/(EQTF5/BH[*Z8+P?$W<P7(6\XP503[B]9'[
M8F$-T<#+J)-K7(\PQYI1C*<P!0MA\ !W'JGH$.HM%1&*6^K1QS_I'E"&)$EY
MB#PJ@ACYETU$0UA#FOS$R<=#[ L1V*NQ>+7+SRB"_+0"(ALOBVP(XVA\FNY5
M6==HXE3ON</\TB# U  -L^DCI%9NE8&.W0_0;/;P&K]^NJ5Z58897S/"20-[
M=9AK&GD</NQ:N:2;'Q+1O\+9*"'3@:]--'OQ!##:IS.:/!6!+-4M6=O(?X9&
M<J_I39"%L)XSZ"3WDC(79]/0]$9V8)6Q@<WLN=I(NHK7:R/H<ONJ-F)*,Y\K
M[9U:G$Y4O?U/'H]>N/>KA^K9B+Z8?1&HS>\DJOG=P&<AVT90[7:-ILH&4\1/
MBTL\XM^L3\0#'DZ=_MV<P.I>+NA*JZFR\2P*\TH"B_)81=N'.PDF&FPEL)4
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
M?V9B@&KT3A-+!())Q0#M;H#6"=T-3!0X0LY%YC/RQ3?77!PK;+Y.XV<J8)2
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
MPCCS&U$>X&OU(PEEA!>1?3&L <[5ZG=F=#Z],Z*Y<R^W3BJN10[-T+$,8[\
MI4+U.4_L.3@PAQ>VTQ:<XGKX2J?)U(2-#:!GOZLCDJ(''SI0XX-HVUYQWT?7
MQ^V/V&H%2?2Y#68ZO8OU[Y21_YK)&FSJTW.*\GPJ_A3Z>.SMY 484[6%2K7E
MFV&)GOI'#YU=B89/6F^@+C6+*?8#P3[NX%K[C@%:7 8*WJ&+AYUJ^IQ#B_Z2
M[XA\M%&!+SZR9].GU'WXYIYSRJTDOGX!AP^T#;7PZ=3%X*HCE7L-&QBJ]D.[
MLB)<RMF3'0T!<R"N#*R!Y[!JBW=YOPLV\L'E.Z^[-%8908@1I%AH07/<"I0'
M^;TQJF/EZ6?9$JK"?&YY9+V35I(\2\9T/@F(E$(?$5E9<%=) )(:/8$7FO/*
M)403DKVP(!G%^6_WIYI5?O#D,7MA+7'9Y((N?$$J G_SL&,:OW^QE_KP96>"
MOY>WK(R*]*4D>=>V63ZG+O]+U"5&_LEFI8_5$HMQ ==JAW?+^#QDKM?$WJZO
MKHF\$W5LU,&859TA[P' S?'P7_+?-FRZFVB0BLH@Q&?,'XJ6C8OWDH"?Z=4P
MSAXK:0];3L]C0%3KX)\8LL FK <(Y]/?Q[4$8'5)0 H]<NMP[1$)*+PY465$
M80^"!J 5.E\R8FNK<;GH_?:4M8MB$=IA-M967[L;*[,LJ40:QLM?4\=3>])Y
MK\0=T<8!!W1$SN@- [+#X& +*=TD(*,6]G&0\ :QG,N"9[,@ =O8UM97(6H:
M9%WE']V"#9%SBD@5"?B^ 4+7@N]Y'8JUDP#J=##^/1Q>DL?R!(9T#1Z=WS6,
M)M)?@!T$ZN E6*:SB;%H$M FFDP"I-S75L]2?2/G)5"= N$DV8/#]$%$.W)1
MS:B)+2(!KZ!@M!X9.O1-'Q[^C3.'"^^VRMTXC1&[DGQU0H7"5[8FT"W@8M6P
M+Z[(FZ;#A\;<PR/L6Q?MM1<NA4$R1Y<AAB9HT#H)0"^V/_[>,%GW4JQ]G%,A
M?68,_Z8@E&/B80KS,6'!IW:)6K\+6H\,-Y210>Z=\_22]UO A?T5]QZL/G;>
MGISIY=63U@BB'J:1ECZS\;1>X2+/EKTR5'D<X0:/FJ-$;T7LD@!*?6^'5VYH
MMT%][U>3/ *7GPBE=[VCU35^06'O-:0.^KF.]O?*3/Y%\HF)47+9 OY%EP6_
M3DK=WAX[Q3;+K]IT_<.L! 61PW#X']4)_OV\V-L;_\US1_P23('+(@&U-\H6
M<T]![FSI<&$SMFUL#3@*6]3NOREL9S?NYMCH Z6W3=:<4+M-0R;._A>5'3D"
MAK2>*=Y@+<0M?ICC:AZG22R,2-\WZG3S9LEFN_>DC_UI7^#]]N\([>.ODY^%
M_SUHY&^:NQ/0JS]=(]:.$L,5L<="J4\3U5@\4&PHT1I_6T3W^Y4$DY</$D*Z
M>6A;8PG/\5(5$!VD:$5&C&QCK>T-6_V;[]WY8H4?G=;;*LZZV"7O.UNM]65<
M6'5MK.1WEZM9% D%>+%2R XV&/<4^9YY9J/I2P5R[8A/V6,UY_ZP^FI\8PR5
M2&B*.CRSA?X-&=4S^7(-[H(!6WX)+\]-)-?TC=P+/6+O4NZ4KU64W.<YUF/\
MPA?>L/R_*JK^-S,7U\H'X4+MQ\/N2;"@Z))41 .*=-A9K0V]L>[*UI [88SH
MYQ9[C!D!+N]W 1IXW2^/":@IXP@+X#A_4.U>0P<+)<YNS3QI7K<JBK$$6?LN
MHB?:2,\1\KVU_H'_K'9;J'"%P3_U_5]D;@*,8;0B%*F)X/CLT)7%"XKY(W79
MY^Y[BM0/E7.:)FF=[]2;.$9'EQ"^"V\@G^4B(0LO58937N@*+5R;AF:9E?'D
MZ)47IBA  @:$(QWYI%.C>-I9M^QR_P:>F?R?:.9)>!-,<=(MU%8XGFFAF<"B
MYV&M,[KGGCWK?B-]'W0W_8O<5=T?\3Q'M]CTP+[>=IUV4BC$@?)6% G BD&B
M2<"UW2R@AEP\_NBV/Q3 ,Y* B)?S).#"6?(7GT4X@268AASM;VR1@'2.M5TC
MNB>PCXJ8"6(T@I(,H\4"R+;% $:>PJV1 ,WY4!@ZM9EL+Y&/"8]HRQZA<F/M
MV5I,D>]!G1.MM",J<DQY"KP&A>7[Y@TR74Y]V27.6I%<KM,Q/,\;O@!MP!_)
M@-!)4#\2D+_U 8'3FR7;Y\?&W'A8K51,*Q7N1N=>GSV3^W1_?:H$ 1UODCZM
MWR[PT*,BA3Z7QJC*988WA>O1MZ1D#4*>R'A=H^^M?(G6TJS0!.OL_JFW\NZ^
M&5"Q!VL\-_J;EP2=0L!$UH$DQ*XJCHL$T"LCB!;&?]2'^( ORS2BFY<8Z5Q2
MW/Y>:'XCF"VYR_AUCA"44:;]JFX=";!]P0%P""LZJ_ G>F&KE0P3=@V45,6N
M-8_(*:\QJKZ]-R!9X-F@3IWBZACZ*L93A";%^2Z#+G\)5>D?5<W^1RWWX?2/
MKJP%JXVV",KE,DPM6P7$7_"LW.V5V--N?,%][&MU?B2'YKD+A9;ONM3%J,10
M4AT@?BOW8!FT6G0%(XC]WN/TG!R>T3.U41HN'K):/Y09-E+[.">N*X3WY8E@
MU/G-\<*Y_+#E0+04D2T AG];\*M.S%E=CJ[=FPY;%1"-W&WV8&O7&;GSKGH,
M?O/3./^- /]W\P^,YR\)E1X;5+PK]EV,VD'CR!J2;#*F(E-. IRFW%IYZU/M
MHFWK]#,%]+(Z3T1%?Z[76?Y0XG4AI>,B0*FN>NO/S$%X/!8Q1@*J/>^JT>UL
MV5Z8Z[V=LZKLXAY?LM%QLU_NM8,(K>E]03]!>;ZX0V7M5*.,:W5!5G/3$S>=
M:%%\BM.NQD<1_E<OJ'Z"#X>H-/R9$TZ0,W*.VKG5^5-$'J@LQCP^MY-(.WKK
MRHBDG[!K*U=3PF>AQ-R[6PTO&V<2%A95Q>?7)7DWNZ;] =FG94^4*-7EENSK
MO/#98IVP(XX]*<*9E/=BVB3@B6HRX0$Y0FJP4SS\RQ<!M8!T,5R=B!BU<YA2
M2&"''=O@;N))R]1K84R:ZN^:7W[4XLMPX]R\U/L$S>X+A\"%<&1[.9T;-X^]
M; -;47T/*/PID=;:*RI;_#".MS 5V.A%-Q4N+^2LG8?P]9&-<@]/P18(*\^W
M5K=7CQB4JXR>R(H:N03*,.7QVO_!%9-Q.FI*)&!P?\$>+[)) @X<+%M/$_+J
M$,?GW6_:0.Y^6KN"?C^76XQ+-8XV=D[GJ12.G-W(OP22O]S9<5U?Z1+U MLE
MRW1P+?;=]&RI'>Z\R+ ?OZ'5T&YW]6A68%_V2S7EV$?1O::F3R4*NTX]F:2^
MO12B9/^'<^K\8K:5]A]SZR1(0!STLDC]8*U[,JOMO?%IK9Q,]_)&UGY9S^^>
M'>DK<C6"<3;A)UV\>JQ?^,Q)$HJ@&AS]GX)R#)CWM:)-:\9]^\Z]>A94/5L^
MK1"%LN [>Z?)C+KK,I2C9X%J&/8GHM0[PJW%^?@]$L %.6_ J%\_@N<(7+3.
M9;*Y)^5;;3-+R)0L>,9M=4$[4:[9PR_57_@;,-8-F<%V8.3F8A<-I-JG/<.]
M*J<@=[?LWH[N$FRW\N)[WH6=8].1;[VE2_/Q+6OMF[3S%GYY+ Y_*G!\NTLH
MKRS'&WL7@:/49MR+YK4*5Z4GLQN+=WH,Y9"F==M99_NV[4R\TI+F,E/;YT^I
MN"U*Q>0RNA@(35Q%*\0A6YM""B??-39&.LS3Y42=_E;%_4#8?S%*]<\&KB6B
M,/XJIB@#!>;&*>B.11;'R+E72$LQSO9Z' _[HMAF'7W,G.V1/DW'9-"4B@LW
ME;@^H<"OCP34N;_RD)10T!F\[S!:(:<\N5YQTBP'F>ZQ\\R%DB,F)(;>2X&"
M>^,#G<^?2U[?_>WK&F+VWINW-[T=WB7(M/N;9VW4(]AL/RWY5==;IBWL2!AC
MZL*!C](6:2JW7VH1JOQ,ASP]!T*S'GV+^V+-$158@CP36)*W[9+NKMOQ,%G1
M@GJ'?</K^6TVBN4_FD"V5#11J9L/@1<+IE'6N$SFYU^X6'U\(2MAVK1F%8NM
M;TH]XQ+UR3^'W>OJ;U$IN=#RW]X$%G(Y-S1';I0H!!5#S\?4I=4;W#R<"?I0
MHZT;$'7^6IG,"68EMN"ZV8E4XB?$MA>1F03 [Y* H62[JK]8-)]["N_^!J^,
M,T2!3RSWW3\L3&P]\H8DH+<NL'.:.HL<_P$D5P3X?2.KVAS_!$0.&A--L.71
M/(8A"&RQ_&D!674!"\;OJ))Q5W_SM1O_$20P0V V6(["#TQJ*;[]40U_#!)V
M""W@$=U?33:9D\01-=$<13\6G'X+S2/_')'&H8D/Z=/0 JOTLWL\$ESW<SV]
MYK@'#5*]&GB6U>Z-HEFZ85R0F<[#PA=S9]&;:4SPN#U^9M6S$.%;C6EY]8CT
M*9G'#6$G-I^&V=\=N_#P'7<>\^*?"9=]3H1BZ"W^I*I2K466Z/W]>M[=P_MV
MU TC1<2IYCCEK9J888W@[GXGOM C19L]BH<Z11J+L)@YE=0.7G@8 GFJ?J@V
M_BA1GDG!HB;'^J69Q:G7Y9)LOOK.%Q@D[V1L;JKZA] C_D1(:9+BQ_TP0R?,
M,;R8FNEV++WWU.TPZ]KQ9*^EKAD&I;=4;#0W=07#9RH>J<!J!V*]?&$G^&P5
M]&UO[EO55*.?0+[]?(6,5^NGC)-2SQD=;NI]&<[+MXN6I9CY,VCN(5&)4*$3
MN>=AW?X69X<"G:Q,*[FGY%$WNU&6:5!==L?UII<TA_.=51O)A0BJ%[=$";50
MF?P^1V>X=:=S2:?'G<,.EYNUB>6%C8G\IJ?=H+TAEJS)Z7P4(;V"@S_?)/)G
MG'<0?Q[W%L$Q8ME4/0BO)8@;CGK)UB*:4R0:;L[8Z%%'<EC4SPZET%,I[M$V
MKP+;+'\U3\#M7X6H@,PQH$Y$]-QY]$U(-#G=3L@F>ED:G(?($BA1P[XL[)7\
M3NZ-=+27VFZ-OT>UQ"]NX:-:V6&32"\2\'J?8ZWV]T!\((=B@B@+-1KRW-M0
MZ!1@'-K%CFYM2*QO0A5]O(5T:$;?2J[0K-**:-.?UK$Z9&Z)QY)+KI1KL'7E
M"MC*IZ40OO]V$,[^W^J2\"%U 8V_ QZ5T?"N8$58?,Y%-#A1:E?5LK8"='VL
M NYKJV0M&#PB\>U^4HJAI#?62(,Z:+$SD /2'0G^MA4L IO,16X1Q,?*IG[W
MQ#A5OYH2;J C^,10BRI+9.%(19V'BU7]</H/T_K YPZ6"LX);B+.R7T$I"7L
M#W*\/-*$E>/(YN(8&;V=\MX_1"7\ST&T3B',5H<7]\KA5FS+!:B<&W)#$K4T
M-Z,WNEXIUC+:^F6]6F'ZIJ]^T'==HSL9W-0Y_B4T W_5YDOPYXYTK7!+J)DC
MJH^']66.I\RD2NVO#)8_=I]53WUUV>7XD6.*PIV0#>:B*BCKD1,.C*(MJG\L
MT=(4/V?QU7[%V&+.ZJO-/?H3O<:4UYPB)T^8.C.^P H.TN[_U7E1IML(?ZU/
MJ'$G2SN[>SB>6>HV?3W+(W*O<,H-+G+IJDI/X=E"6POI*AKOGDH2T$X">"[(
MP:*)(ABMN>R 0A!S[R/FPN(O/=OMHF_/:-%PESD!&G1T0B$7_TSL+$1WQ[2*
M?9U9SA$9HXLZ@YY['>_M]WIZQH!I+L-SV=9F5F4]@T:;BN*X9:]P$8MRP)'=
M\K1+>*6*,0P9=*]/.UO]'48R6;;UQH;5%U'S,W(LS[\6="%%IA\LJBY3!?R)
M^3Q7;U_K]PJ7/J$YKG*I=-D\9;6^R:;H.]*OX>@ZF[['A<A32"=7?+D?\^JQ
M'W)]N&CL5[19R)$ I[1H;5/$&Y\2*ZNWU9;?(\4T+I0M95R\UL?KC"X0='+Z
MD_"K:PSL'L39J:(7P!P.\RYP;1A_[#;VK;$A;/S1IL?"NW@6D? [Z^]LFC>,
MM&5Z^OL-L<]J!E_5CLIY2&_=J,K6RS"ROL0>P/:%!+@E':.^I7-)AZVV:OW#
MZ88W7Y6,:.;_JM&56F5L2&>I=K:F!2Q4W -S&)1;N_;ETWM,&^S,]*M('[PR
ME.H3]Q*4: YCUJ%]SX*$)U>TBD*NS=O4U^8:SLMB1ZQLTJ0U9*5K;^:?O_9"
MZ6*/R"DCNI/_@=,(['3,<^"I,%3(C>A8L@'0KS4IQ/K%RKY!C?B*QRNB.M/Z
M/S8USWY2F@D->\_[?JXE<#$#_\PP-!>K0 :;18G:(:I1OQ5A]IVP[8!Y)A*P
M?@/#0DQ;D=O@0!'%24!JZT]/OA,0 ]N%Z^6QN/Z,#Y5TG616)%KT4)8JFD60
M9#MT<(/W7=FCYGY:2,;& W'.1*<D2&%"-6=0-0W;67^*M[J5FHM,18D54#NT
M6N*B<]T[M,'WR!W1J.*Z<BDY=M?C>M(*/>M5F;:LV]*%(5]#DB1_6*"_1*-L
M&=O4*#%RW9$J?(%E]I6%L&+I;@\7'X[:AZ)IKU-.Q[+&!H@+J%]J0NL!5/7C
M""<$W>ICWZR@G$*XJYF"DA26-I\Y&Q):QV@O[08+$GG:DHWOR_S:)"V3R??(
MH?,>SGUAUPS,X6=XTL;JT3G.: _DFG*XSY*>#X-3INV52&V^.#3S(Q5F\1\2
M@2A$!_^M-J7Z!I:$/2;571#UG+M9O]OQ:UD)@_<43K1Y"SHIZCG$<I<N\!]P
M5Z9VJ5W$&$:VGG,+9LA%J14[OK:_9Z5I6#K+3;W<(+^_9&'\B<8TH"%&BOJ-
M9W$A$!B5>J2"L]<>7M_%G1F]SMG*:7],V\Y9 BNZK#=%K"%4YHPE<JU7(-^)
M-B1)!'88K<@?OFRM$7C*/RI^7^K.>;.[0E*7=FJ_\W]^=.=*&#L\SMV>6\7
MQZ,4$MS=,?U^;.ZI9"EV>FJT?'=&\0(2+-K9W]XM_.D3\A7]<8G&MS9Y?0Q-
M7)TP 7<UQ@FHA\\BDX;H4#YZIJW(^K6>A_C7F0\3:JZ3^G22$&H/Q6X[0.TE
M>J -Q *YCKLPI0^=1\?.V%BY$>^7SJ3<ICIX;OP.TW7)BC?C8S^+">[E:PC6
M[QUQ;GC][LC"E.1IUV_.(DV.2PYA',VT7E8[]N$YRAA03+#0O6#ZT3WQ^+)Y
M:L-' G4^0N>SJU1"=X<GN0\JG.9TN_MYUK[(X1G+5PZ]NF'Q](^"/.YM$9Z9
MNF0:-1PJ[U+OJ'.*$C*A9[-,QRHBY\I>S^JASF"N\D:6#]6.-WSFU]<625P\
M5Z]G[EAP7-?0AI4F=[T.J>PJ&!=(<#>F/"1BO\,K'3/A:C/<^B6%9\#OCC0.
M_*MSFSY=AO]TL;+.Z<3NA(61%LL@Y(P!2&_"+R9_."_LM,2H5<2;DVJ.BD8%
M2_P6"ZDY926XODXI5)!">U-TK.1>H/LR7KC\POZ3#]O3_4%RVS=.J]FQPH86
MQ=O.:[0MA:@2Y[&/1V;THPW'5*Q1B!-6UJK9ENUO[+MN3GD4ZQ48577$GY;@
MI1+)_W;^XBFG'V-E"[G1.6<P7;GH->1^)%X9%>@AV373QKHZM,K[I24+XEX@
M$K=LO>Y#+QPBQ)G\35!7VET391_OA^!=KL^P.XMY)I]5$9T,%7-FB=Z=,IJT
MUYY0@G:Y-@@^XIC][O>$=;LS@5Q5-Y;\?+4,?+KAYWUZ!"'N,(.8JF>76@#K
M$>@FOM,A 7EQ.U[_V5&@\2^6@E+8::$9B9I@#L3Z@W<D8#CP\=[TME2(_38/
MKN(G+N@FILX,TE5./,=E+$AF5Z[Q[NU%Q^!UD)"6*\9US?QLVY<71BV-=-XW
M=&TPUMZKJODP)'.^4N_\Z\=^CP(Z;#TW%U&YX2J7.#JP]3X6JTK];6':"9\\
M(LX^33EV>?8A=U*TBRP%T\3Z!/)<W=F<.0/-&X/QD[U^R&P]8]^9\1H3ZUL7
MG!F1U,9,):N50NJK"W<J#([4(/>\UNUW*ZPXA^5L]2WJ4^;0[8(YAWPQ10>#
MM(#$:.2U)R:1BI=_+,V'9JB=0\]'M5)#FBVLLU7!UO51R@2'%L>@-ZH[!K>W
MQ6VFO@HFB5[(GBJX>U:=9R;5!&][I(';LD7OQZU[U'E<LQ4W0M]OVDR%&[ZN
M?+JDVV#64VV5E[$AQ-; _7DYP3^L,+07.)26FBJXZA 4$(0"LZ[F"+\+%(OO
M"# _P;AF7_VHZ*OV38Z$#9G/>I!)1%9;WW$@E=B7<Z)I>'H<]</LW;M,*;6I
M$KT'42BL=7'L4I;95-BW=FZ^*Z6ED0P \*!IODN* ^)HA+&/@./U1.<0CN63
M4RL-O&8ADEY^%*I/&^4QZMS:E2J-X,!SQTKH[RA-\+_"PW#Y*!) MW)+H]3*
M52E!"1P'][):O!'EYIQQO<5"T,SDZ:)MNS)6AOG&R. @78-=\.=6WA:,5GT9
MH:Q2T\&KK!^NDZ?IPVO!.%7@FV/;:I^Y<U!]B0_-D_F,LEM1'E$-BLROE6\@
MY]18/SX3]%YWI$=>8W.$:-'+<Q$'QJ57"A[R07J>-BAV\;^XS4Q/5(4TZ]36
MQUMC+KCYP)>G_:N**S.0/UH:]2H9:RRF/T1D6I0^@9]19[!,DM:VR\4LHN8*
MD#-OY@U'7S4,U=EJ]YDUO1VY[^6G[QS?LVUE?7G34B2!7E2:SRRMJ_/C]@.*
MS7$8Q;HOX5[@FB$').O+--:U<D]"?GS[K,<>8X11JV^V$)OP9=.YMRVN1\'.
MBO?'T0/KW_,AYIU9S#7N%>[#TSC8AG[!<JI-Q_W[;-"#F#@AYD\RD3O\<11U
MNG;B,FUSRNF&"5E,%?4EAUWQBX8,>I7"I3U56M[NHK4&(L:].U=3"J>=F2\Z
MK#0^?^D5:E6Q6?P&?].ZKW=S?*++W R+>F39<8G1_0ZK=+ IS?,%[]Z]/.8,
M"YQE_EHNFR_HU->*;NQ2O+MJ87VO-ZN>=\I*<F9T?^V/Q(TUFUH24&,>>2.W
M7,/9Y\U*AE52:XXH%W9$>\1JKE*^]LY5)_&$Q*2DB_U=#W3ZY_@(><&B\#8^
MEI,KTU]RO3@3%^99UFY:VDS5#<S<;4R]WRM2^?UCVJD3,Z&*O97AJ(".^5-3
M:^9V;.\P)U(.NXU'RT<LZT)F=&\160\V!P]<V^C- 4J-919J2D#U53O6#OW^
M>4+_F[7'J2^O[=QL"CR**5)(#/!\:],IZ=B=OIJ'O)(&]GOF;7::\&*W82A_
M6 [$@8-;CD@$]]2;94R'<6^PS4&6$M5U)_J57ZD[97].!4(6?4ZB'K-T><7+
MT RU*!?>"SX#8W+C5;:QI1D>5C[PE'#,T6X,S.XIU)I>S7^E?9#6>P'"ZPW5
MQ,"3H ;HD8X:2!R_E!8",T9\*A8E<<M1A^-M2ZB9GN9=;4?@:5K4T+O;#^B!
MPT__\5OK+Q#28-_F\?PDP*Z?!!0(O+_3DHLU)8,G&#J $*A 3'B\]^]/M/Q<
M^W0/?B"H)D4"X+XD8.B-796=X9$IK)<" R,$%A,3KP%[RO8X;#2A#5]J%3=!
M5,TG 0]@Y]-_NV6K*!4-8BXG\D."=GL*N3Y/)Q(+L)E"#,A*^)E&\2[(K4M&
M@9$</3A-I%B""KU/J68!!-4F:[WQD 18R0=8T:>8'-E^S9"^*LK%P'R\/+]^
MERK.I:--*K95"J?<-K$_42_ ]W[$:VO)FJ]10F![22S4,;H_,>T#XX7D.@L7
MKSRY+TPW]]4Q_='M]G20E2E/22G/XJ91'C_QEQ)WDLYP7G,2S3YC>_"LAF8Q
M)X\J;Q1\ER"Y]M'8POK>0PM<6+M-;@>O84Q^:/!(\:R^\B?_!/RRF4[LX LE
M&4I%E/5 6*M@7:I- WHK:0F]F5S9,Z& ?;OR1F3(1B]7S5I//UGL\]&D<ZJ[
M<^@/JIY:P^3<$WCS ASB5K39B.PN&AZU]-XOKD>/LR#@U,231_G/OSN<&7,"
M?'8<+U?H#R0$@]$3L1XJ7(_@;EF5A94SKOMF3;O^YV.+")5NK]*L+L[8!/^X
ME"Z8TG%JP8BN :^)<V!)(G+;XM14K8[T[T:)U(V-:\J-U0Y)M]R*\LGP<[J5
MKK*34S> 6-_*ZT8E1QW6O1ZV;%L(/.G@XLCN_OU3&-5QZV0O"<M/B\WFV1#8
M(EU2W4"L,8[3X''7_)%P!V]4=HE[U60^UZ"&BX=_Q&EEQP>2T.)NH$NWZX%*
M<S>B5BP)K[. X+5VRSD]:GUU+!CD_IB8B3(=NJ6OQWO,\:E IY5][8&SZ'G1
M-*Z: @7:$-5X0T*2Q/KF?8Z6&P6&;Y--XO@";86X19_;7^T5R6"+DI#]\$S-
MH<O_1>4-'7TD"9@B 9;HE_@&7G BL2,KSO*E+;@*]:Q?Y<1K@:!&?P<J/79C
M<5HVEMDPRA2?#ZX(-J@3U(<EM,)OL@)>IVJGK#VQ68%?2KI<^[KQP5.9^SLB
MGI<^,)Q:R''G;U7%ZTX(CW6FUQ6YD0!T$L[KUIADD8&J,V]DY\O=^E5SL6])
M6O%BIQ(2>(%#?61T^V0P#\Y_2R\*J[_[;JR.WZ3O//7IRLWOC4X?UHMNYNUW
M02J;JEO$RT$G<(ZZ8SPJ]>]KX[[E$=F6^4 5]_[E)<1/H4$DX,G$Q^2C4Q(D
M8#<']=[_KUZV>AK<!]K6,R1$^\$)BC83E1._WS%(5P!I[L"J,:#KX?#5F\=J
M"=+C^HU?7SBPZH.^VXOASQ*JS6;4,=^R]N-]#6.4TM+2BA!%[<B^&$FKLY7/
MK]SGMO841>92B>JGI:EAUO;,$Z%\Q9"C]A'7+/B+:>@67]\I:79IZ@='W/LW
M32B5$^(^XF+1UA_GV2O+Q28V1#/7*S8EA$]\NO/Y%LU<\:F])'GNMN-Q.D(A
M*NG@:>NNE+YB-V_<Q<HW)6MF6;85V(+B>U;.\>6#7];;-\PP/?V@ISLTU"?:
MZ>3DDX\,<*FVF,=N6;#PRCU&SK'7@UE+,[JCTY?O&@S5]7TE9*^3 )>39T:.
M^MMN!++:I3JC-77C?N@WC<HEPFR;1[Q0HQ[_A[WWCFKRV]:%7P2EBR"]2U5I
M(DV4ID@705!ZD=Y["S6(]%X4!*3W+KWW#M*;A)K0>P("H24W_NX^Y]M[GSN^
M??^X]XY;SA]AC"1KO*PUL]:<SS/7+ 4S0M@/%%BCY<?M  [AGQ<7S@HTG+=2
M)&YOC]MX))WIM+7G=;HYGX_E:UDK$V<VNCW(Q[OCK,!3DQ;4^-@2FV15LY_8
M<(VWHJ*;,P0VL=^"L?'S.KD53JVCI;F"/WIPM>)H[IX$O/''ZBS75$3.KVD+
MK67^TMVY[,LJ1/;K3/(43"]V4J25%1^]#$W@\^<?XQ1+,,A:)0DPH$8:%=>>
MASQHF(+HXNW;&VF'A>^94&IOJ$E8M5G<>9LK?-?QR8W ZER(8)K?@G9]]+K!
MPFY24Q=E*M=91-X"/RN3!P.N-0!7(?.;3A="9'3R4>[YX4T*W@AH3UPS251Z
MBX]TNMBXU$%QYV=B2]-U%YICGACY ]$VS1%G8=-E/@(4"SND^HL%X;_;B42.
MZI)EAJ7*1-[<871ZX.4T_>%&^DP>+GX49 '_?7]/QSS9HV LSY ]Z"*LPLXL
M7H%65->*&UN9@S^:^G-<K]6*WP@CV;30-X?T+:UHO%HZ<3VK'RM5.JG#QNGO
M-Z0&;64S(P]$.6DZ <87,# DM>]Y>Z"/F4,>V ADTPMYKW&.+=]N!9WAGBC/
MB8JLJ^XB[!MD,09URRI]I(_3-YOK1P,4A$NOO \D^I7'?\=0=D,;RWEX"<<<
MN]@3M85;3/'@JQ^-PM0'RB?/SRSA?>5)-B767JB:2>U!(QN.G,+D]"X:]FA-
M+>I(C,@5+!;!KCGB+M4.<,ENU?EA6]CAAOD<58]:S8G]4X/'C^W%3*SPGC;T
MZP#') 2H6=1#A&;PYMR?6A20S0(KS\RQ<BOWLR;>/#KBPBH9G*IA^TK%8]:
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
M"'L8!:9=6S6.Y&:%2EIU9>!;X4+B7$JU+<G&Z9<\YKM<+FSR'<JU4N_H @J
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
ME7%# XQ3X ;P5Z5W^N#^FI5#I@TI1NVKQYA-VXY\@6I-10.RXEZ]GI+[)6B
M PVL'EV>.=Q0G^[]721- FK&\%C*QQ -&.R@@1RUOV+?_L$3] 5KU_W?\B5K
M*2JNO:51JZ@// !%6#%2MO\#@C>B0C216%U!&Q8,DK\-_<:72KA.WS="SRO5
M/T)D(>92+P/P&T515V47B<LS6/G4,!.7^/-/U3X/!X80PHUY2/5N2'IMR3!#
M>5)!Q[F'>M,ZFV5><NB1/[%3BD/?R"TPB;772FA-JV8GK4$:D2;'7L]9A -Y
M[&!:%%W)\VJRAN,J=IS"AR*\KFW"2-HMF$67"B529]3)SK-X9W)!FDMXG+YB
M..&7!3!W&V[2B6*O0W"&5PB1D.Q)4,%;9MWCM/\DV,"F#]G:I1^E']"*;FKE
M?!Q_7 Y7B$H=CHGJH(5D' BL7O&%H*@13G4SO+\-[VFC <L.ECK#IX126>F>
M7[_;O2?"QW9QZ4KYS4/8DP(.=7"S47J8-J782#DY^LXG/]72_+WH>ODJ"3;.
M6N$S1"O3ZL@$!J_19>XQ4GY60P2'Y7??;DWK';K0F&.[S8-1 69A;VG6%CMG
MY+'";J7"DSK:2<7P$<97;QJ\=WQP;_U$+"\NZHI1F4U2:N*5;1$F?E\:Y&H*
ME# ^X,P$SJ$X-M]E<\0=LV,XQ(<6J+@ZGNVH9/OS7[^#1CA0(%W>3Q2DP(96
MWGTZ*$CI[5'WM'_2:8A3Q!S7X"P0^[*3EM8OPR[WEZ[6_$N&LK0:):(GK[/4
M!%5O_;7M;I7^6_S _R1OPU]#WRU*):DJ$)4T/2+/X76*E<4K>IA)DG!:$:2&
M%%!&M!C0P&UGTQDG6LPR;1(O)1(*OE!1NN=/ZGZV(?NT6;4?UY6OO4006=GY
MZ>,,=]N3!9\/8")DM -NQCV]C.K\,%>'; 7!Z7K=]A\78$N(J:ST56N'4D-4
MH]%I*SG6<5!2Q\61&';.GHI1N17JX30?[;.:[013&T)#)3?K.6O5;[WM*<<
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
M40V5ZT*B'ENUL<W5ME.">AU4PDY39:+[>S0UQOO)14YD:+DMH>]Q9.COSBR
MNP6W,WX+@S 4F:!Y!26J<(4A/@,1,+XKNNN7:*#@1?CI[A_?R;_84G_SL/Q?
M/PI!\OGR-8H8N83 [4+8>,V6Y>KLZ"BOD^X]CZPO(X^O_15;(J\ A$[%6)]=
M'C-A ,O@N(\B&J@$8^CG1-+,WO3_NK+<,3[V:" ^#<Z%ZAN.N1'8I=@76ENA
M:U\O\"' 3*@*0YG?7 ;][>*=7$.X=8V!I.MG2<GN;(J-X%,]+)>'KXQC[,^W
MD)I>ZV>+XI;8&V ([MH(*@CAMWFEU()XX\74O68M1"UH1Z?:-'6T\:TT*<Q%
M\%X-X9FW1EA'W-P=-5!'>;4><FI-*>.>0JDEI#R.))@9,9H,%<@;LVFSRDQ7
M,F+O^/*L^\GW+WHFYG0I9X6N,7C;CH/0T_"^)3%EH9GN^1>FNV3R>8=T.!O'
MN0D'!P;@M:/Y_HXY92CA@KQ=BXA'MLUSL=DYZGB96)TQIH0[DZM49C*A\AT_
M<.Y*]0*..G,'MV')+?>A"L,Z^&YEG+U45'YJ8K:T_2S$D>4TX@.BOUD:;^C6
MP-&KLV77 IF=17NT^<W%AHOXL&/>],EER&1OY#N>C9^/3L3'GRV_I1C C1??
MDT*^@#?KQ3O<LZ+E2/.IS[#U7WK)U6(Q8AZ]<\\>TIRL]415%+=5"^'0+1E"
MZQ'"YNNA7#E54UA!"5]L.;(W;C#3^C#[X>- KWL!CJF3%..+"A\/9#)TR0&Z
M&52R@'EFY9I64(GNDJ":1)03^8*!QW&N:QQ[#-9[R6'6Q^M;,?FU!2!7W7,Y
M+I:% >FB3IQ'ZYK?004=[?@23-LN@Q56EQ)A^<N]#@5)C2[49F$_XV1#1-7H
MJZ^_L5?U<Z8LP<T;H:*EK"'*"#;::8D'32U-=4ON["=MML/T/C>_SH'WKD=2
M3,(@PS61'EW)P$<E.C9U%0[0F) FN=!RR1J[E-TMM71YA@UM=@L<>U+?P[>Z
M0OLK1&(6:TQA7E']H6LS-4N2W;$V(L^-QO.J.4S(V7-6MAP&8AN6J>R%8\7W
M"J?;&*\EX1F!;G3>-P(J4S[BO,EWH]PYC6-3!>\\RS)66:(;BD8#0MK@SP9$
MX'MHP"Z-@+3(PN-;E?P]B9%TBT0ZB^3Z*.32D11#'D6:FV\^4E,IJ+S<I+(R
MM/^6@A,?$$^!92X6+T^??IKS;]FQZN!!#L,K$LOV2Y>Z"OU_ :8,9. +**6Y
MWK'R/QTP-_]DT_XC:/(Z<)%XC@3G(U%]DUP[O*6'^Q94&L^C ML^C.1VD+8)
M=S+@XSQY_)+YL[Z0TPKUM:''*E.0 3>"(H!U9:?)]IRRR["!'<^=$@V8"N.?
MW?%_LK)ZYY.'22'8<I>VKZ1L6<E!%$&\-'33AONI7O=;\CLU?CK3H/>0GCKX
M0K1)QNK=#)Z-NOQT+L1[1I8PMF!E-R$<$?6N=<J@S[+&I &9_G'E4_%/M,/6
M:AQP=6W:R1(Z4 ^F:[D.6&7A2VDS7_@*1XB2YL@4'C8VN,MIN-]6;Z/ZN?VL
M7!K&V:L[A@W2T1> 8E#@:3N%2M9.DH<R8T:!CD&+9<Q#S9;61M<@H\@N8PCU
MFQXRPG1_QJP*/XR5G9M3"U"VZ:F[]"LZ\YCFSIX>YED??\RMKL1:HCB*X_3Y
MY,#NL_/W[[^?6W0RW;52W9YXY4"PH[.TW&YO\%$%4FZ:J.#A-'28!G_A-$:Q
M84",W(.5N7RH@B\=C%0A0]1H_1IMC>JH8^13!L:X[GGC0U.(%V/UN6(GVSBO
M-:9K^/#U!]>^&27U2!"T(UYX>@DU4D[I<G,\FV+]XO1DI9GSL?O7,8!)#MD-
M-4L*K]VS<U_0G+D6*9>VGPU1G;"07]8BM#]>UR:=Z+!_R14WBC<X]@1L;D@
MF=?MSC/<\V(8J$D<.E?]T=H[6D >LZETELR@ZRV0:+=F<^LG>>&S"EJ$W $?
M+,L7:F?R>MK!@8?7387$ZK(\PR%7-S_)>*YO821<*3GWOA*_;MHN3_=M+(_"
MC9B7JR1A!D\15*'7#ZQ@/)YN#*Q]26T/)I6#6K-U;Z+L&-6)PAX;G>^'?5F/
M];@%L/B+Z[=;M..6)Y3MN)_-47KYE3F9N/"TMC1K"%B1\TM5(KJ" L0^?S\9
M$R)" ]7@3^77<FL'UFLJ*=X5=#(XSXL%]TE?RQ>6X5'S\\_34:K'#Y1-:V*7
M(L<TIS&[C\'A7?PE5,CF=F+/2M]^_(!1\W%@:O!=+3[.-F5W0WHQS4*0SD+'
MB=;STB3:9#F^A%@>#J>5]/=N(X"-]O6]J5E?WK7W?U8BXY9O?6]7>,JZ'GJF
M0"8?*LSRV(2L35[_IU/B,PH5O9MT5[[[>\J^I7L2S#,'<8?YU5,.#M<+WC3E
M#T!L\?3E<)\BLP]$^\5L=L7/^C_M&%*V<>N#..;>-R!:&UHRH,6@C4 O,3J-
MO8&5,Z>XGVSI+B>73W\7UZ^0^[QS0E#)(NB?UR[5YGU%5;MP1)F3][I76CF.
MLOK.LY$IGE+O/O',),FB.G.$-UF3RB=YU7AIIMJY.&65C5\1+_4VL<B(A=6[
M7\M1OJHJH9[^RBDZ.R%! '+IWNH*GCL (]X,>P@%7WRZ*%=*]D"<^)[UO]$<
M@X#[52*$=82"3E$9;E;Y-F?N990595%L/)$GB]+4WJ RWCPKHWF![S^QU&E-
MT]9)WMQDY,XQ(S,0.<IS8HHH3F\&XZYGO'J/;:7S%RH->?SD%]C6F8&,5"#^
M(?;BWA=D)1I@:^Y=.<-OPB %97U]YPQ*R?4D4#.J4\3P\E'A+:;/AL?RUU1H
MX*.-R@U9[:^Y?X$"CYGF0U"O#4G!OU9@)#>BBYH5FK&HGY+'+,@(%(9]W /O
MC,):O?Q%5T*;OHY&8<!]3_V9.IWWL+XPS-(,((NNK%3_W(]SMQ:: "KI >/[
M4,#/^ZE03V?%5(Q*>&ITVE*+^VT[PLHB@[6(WLD.#0Q_9^@H<I"RV98D_:6U
M"Z$XRRAJB.XZXZCYEBQL9GKQA*[RQ0_Q@0HA^%$7R:UMG<.D CV;\W3FULDR
MR(K*I%"KR0'+C X?]Q?_N!-/;?T>,HI4!F7 LSSL2@O4KSNQV5Z)]"W='78I
M(+PRK 89:M<KO6DBCA<[V^7UD^.5&(M?UB8H<"Q[?5-HS]N";50*V5LF2M_=
M4HT?U)AW..3--R,,-9F<E*R]R:2Z@$*T*3Q(/_=G8Z16O1(BN"2AA"?$1\H3
MW[VN(R64W/6+8[5#"INXX7'#J..=Y^8E:*!;&*EOW[;"@&JE;)A48(,L>GT/
M.'/<CJMJ29LS?1?YT01#ZBG&VZW&J$"PT=FSD039),//+ZN"'SW@84P5G[D9
MJ3D)<M/DM)6VEI2%X.T95,)T5\BN2:9.&=Y=?Y",W+<(>,C]^\#)2.E+JV<\
MFQ'WP\\#%ZB/JK%.P5L49=FH$0GL<1])WVQ=JSGB GU(MSE"V8WUBWPY6T-H
MSOU&;?:X9"WZ *KT1SM7SY&*;M,9'^S4>S3KZ[('=FE[KQ;U7N)]A#YPB>';
M^F!;CO\X-^&3%&4;#?)*;_;Z ZP='YD]U+5B,$XYN;IH9;L)V5S>,.7_07+"
M=2?8[+'"5;'<<L?)#1^LK=WNBM30YU5K2_QYCW ;=<LT9,-=]HC;BO41M5KF
M=0Y2_DQHSP ':97K(XZ:2NP\XG,C?OL^\4IMNEP'MKF:'1@I4&_VSO\.L-7(
MAJ"5VU^"WE]5:B=:L/&Z00.?:WF$?26OA&K=$Z<7WI92<SQW[,=A?(@=VG:3
MW>)[TV[A8)2U39R_ FIM8;)CGS[Q'.:;-_VNUS81D#/,G-DI_DV39XT)(M"?
M4IX^F#UHEKVG^NOU5+I9[8FZYA5]$'GY_A.#O ;<?,^*3)XV8M KF*[H:K2"
M<DBH;H_3ER9NC#D> BD\$Q<>Z+9X,^NVLC^_FMK@,+Y@\'HN\<CVN-=]=[O,
MW7[XP7Z7L1;CTD/L4<%VR()Z.T*_0X5@-ZF-IG:F0C U;-]'M+BMT_98AF=E
M02RFRM//EE?8,]6?E>V)&:TDL007" WT95"($0I7WTW-0VKV+%,TSMG5[.$3
MQ<LEU5MJ6!B=/._GX_ZFIK#F;S/.[8>/U)1"W#?L]BS2R3O86Y%(N,G=,W-R
MW[L:?$/3+?"Q^FY@HO%3A4(Q.OC]3C1 [*-<L.?E"@ETT88HY.XDUJ=$#-I9
MV+&6^*;C_8*^][0F=Y92Q27'VOVKR=^?=+OU;0EV\*_V+#2P/;Q[NOM_$%/Q
M64%P2D^+Z</ T3JV&D<>)1E$.[$[JB:)=0XUS7@G2_G:6/WZ8>D!;;&ES9BO
MZOU8JN9RZR4ALXY*-L1#\@,^101)LH#_KN(CK$^=--2"6,=S_7RD[;WB=R<-
M<2&[<^K;?E2SF\UQMIR?#C825"R-(^T_<*@==.AE?)FQ\^A\'A+H8Y5O17LW
MK5@F1V\8JE0RDNX:(=BM_LZ)+5)AF/K8E+-PHZ'B1V$FR5@:9Z=.=%PN""PC
M:0;O#[)+T Y_/>/#7V@=FY_K]BB4Y85WB7.\;\80_X!'@ @@^]8!=-[MH@PE
M=N[O"X-)WD>N'.@\@A_FW*2YT T;MUL,:DTWA'J6.)II&O=+\K-2G)'T,$6B
M2)%FQ4AOQ3DW+>C,Z=65W0N5J:R;C9X*P6&"MLZA/H9IP1""IW><I00K_$21
M7MV]=CD*=[+M<J;O*V3H4*[MWS-H"H@5"ZJ_PQ[G3%Z^1:!%[X\UYC?NWN38
M#B_/\BA$QG2+U*DMTO'=WQ:.T\\+C&%<2NAF4PO6Q(DY!7>??XFUZ1)L955%
M X$QG2CVV>NGZ2RM4T="8]4V31QQPE\NKP\LL.6<C1;[EJW,M-7=7R4J=ULR
M:X[_\)ML(XTGC!A<F]ZOR3)S*=2VUJ1L^*P60'):9B]-:?]$ZF/>IX&!S3H?
M3D2.-,*WMRRMMCS+IEC!5R)#(M6-H/0L7IIV8%.U5$J_@I(@<2PEO0!@(E6
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
M:Y'8<O["_IF8L(5JU-0HJKS9;4>Z5W[3MU*<L<Y%(3@0==M6XX1QJ3 EXH2
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
M-WO9?=4Q\O:_[!/-_\'!QQW_-U!+ P04    " "<BGY63 YW?84%  "J0
M&    &-W8V\M,C R,C$R,S%X97@R,60Q+FAT;>U;ZW/B-A#_5U1N[BZ9B1]
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
M>,'+SJC_%;S@R<LA(AC<=01:EH9!LT&(UL]%#J<5H(!T+/(H+?&8BKRYW2U
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
M"!0S; *A-J_X2DS8M^NPB7.1S!GFA8S.RC>5LB0@EN:)6#)XNHB%91VZ@3A
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
MR4/H*?2/:=WKW-V_ 5!+ 0(4 Q0    ( )R*?E8D!NV3P1P  $]3 0 1
M          "  0    !C=V-O+3(P,C(Q,C,Q+GAS9%!+ 0(4 Q0    ( )R*
M?E9ES7SCY1<  $-P 0 5              "  ? <  !C=V-O+3(P,C(Q,C,Q
M7V-A;"YX;6Q02P$"% ,4    " "<BGY6DI#W*OI5  !+PP4 %0
M    @ $(-0  8W=C;RTR,#(R,3(S,5]D968N>&UL4$L! A0#%     @ G(I^
M5DP-=LZ?HP  WNX( !4              ( !-8L  &-W8V\M,C R,C$R,S%?
M;&%B+GAM;%!+ 0(4 Q0    ( )R*?E9@^DC>/GH  ,RB"  5
M  "  0<O 0!C=V-O+3(P,C(Q,C,Q7W!R92YX;6Q02P$"% ,4    " "<BGY6
M=+<1R..6 P!$[B< %0              @ %XJ0$ 8W=C;RTR,#(R,3(S,7@Q
M,&LN:'1M4$L! A0#%     @ G(I^5DQJ.R <D@  6LX  !@
M ( !CD % &-W8V\M,C R,C$R,S%X,3!K,# S+FIP9U!+ 0(4 Q0    ( )R*
M?E9,#G=]A04  *I    8              "  >#2!0!C=V-O+3(P,C(Q,C,Q
M>&5X,C%D,2YH=&U02P$"% ,4    " "<BGY699_ HH0$  "@$@  &
M        @ &;V 4 8W=C;RTR,#(R,3(S,7AE>#(S9#$N:'1M4$L! A0#%
M  @ G(I^5AL;3B+7"   ^"L  !@              ( !5=T% &-W8V\M,C R
M,C$R,S%X97@S,60Q+FAT;5!+ 0(4 Q0    ( )R*?E:[]_8K_ @  $<L   8
M              "  6+F!0!C=V-O+3(P,C(Q,C,Q>&5X,S%D,BYH=&U02P$"
M% ,4    " "<BGY64$]+US(%  ">&   &               @ &4[P4 8W=C
M;RTR,#(R,3(S,7AE>#,R9#$N:'1M4$L! A0#%     @ G(I^5D>="S1)!0
MOQ@  !@              ( !_/0% &-W8V\M,C R,C$R,S%X97@S,F0R+FAT
M;5!+ 0(4 Q0    ( )R*?E;Y' C6S0<  '$L   7              "  7OZ
M!0!C=V-O+3(P,C(Q,C,Q>&5X-&0Q+FAT;5!+!08     #@ . +T#  !] @8
"   !

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